ok this is going to be a pain in the ass ain't it (#2458)
lets hope nothing blows up this time (Flags PR but it works!)
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,29 @@
|
||||
diff a/code/game/area/Space_Station_13_areas.dm b/code/game/area/Space_Station_13_areas.dm (rejected hunks)
|
||||
@@ -535,15 +535,15 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
/area/crew_quarters/toilet/fitness
|
||||
name = "Fitness Toilets"
|
||||
icon_state = "toilet"
|
||||
-
|
||||
+
|
||||
/area/crew_quarters/toilet/female
|
||||
name = "Female Toilets"
|
||||
icon_state = "toilet"
|
||||
-
|
||||
+
|
||||
/area/crew_quarters/toilet/male
|
||||
name = "Male Toilets"
|
||||
icon_state = "toilet"
|
||||
-
|
||||
+
|
||||
/area/crew_quarters/toilet/restrooms
|
||||
name = "Restrooms"
|
||||
icon_state = "toilet"
|
||||
@@ -1009,7 +1009,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
|
||||
/area/security/execution/transfer
|
||||
name = "Transfer Centre"
|
||||
-
|
||||
+
|
||||
/area/security/execution/education
|
||||
name = "Prisoner Education Chamber"
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
'sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg',\
|
||||
'sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg',\
|
||||
'sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg')
|
||||
flags = CAN_BE_DIRTY
|
||||
flags_1 = CAN_BE_DIRTY_1
|
||||
|
||||
var/list/firedoors
|
||||
var/firedoors_last_closed_on = 0
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
has_gravity = TRUE
|
||||
noteleport = TRUE
|
||||
blob_allowed = FALSE //Should go without saying, no blobs should take over centcom as a win condition.
|
||||
flags = NONE
|
||||
flags_1 = NONE
|
||||
|
||||
/area/centcom/control
|
||||
name = "CentCom Docks"
|
||||
@@ -37,7 +37,7 @@
|
||||
dynamic_lighting = DYNAMIC_LIGHTING_FORCED
|
||||
requires_power = FALSE
|
||||
has_gravity = TRUE
|
||||
flags = NONE
|
||||
flags_1 = NONE
|
||||
|
||||
/area/tdome/arena
|
||||
name = "Thunderdome Arena"
|
||||
@@ -76,7 +76,7 @@
|
||||
requires_power = FALSE
|
||||
has_gravity = TRUE
|
||||
noteleport = TRUE
|
||||
flags = NONE
|
||||
flags_1 = NONE
|
||||
|
||||
//Abductors
|
||||
/area/abductor_ship
|
||||
@@ -85,7 +85,7 @@
|
||||
requires_power = FALSE
|
||||
noteleport = TRUE
|
||||
has_gravity = TRUE
|
||||
flags = NONE
|
||||
flags_1 = NONE
|
||||
|
||||
//Syndicates
|
||||
/area/syndicate_mothership
|
||||
@@ -95,7 +95,7 @@
|
||||
has_gravity = TRUE
|
||||
noteleport = TRUE
|
||||
blob_allowed = FALSE //Not... entirely sure this will ever come up... but if the bus makes blobs AND ops, it shouldn't aim for the ops to win.
|
||||
flags = NONE
|
||||
flags_1 = NONE
|
||||
|
||||
/area/syndicate_mothership/control
|
||||
name = "Syndicate Control Room"
|
||||
@@ -115,7 +115,7 @@
|
||||
icon_state = "yellow"
|
||||
requires_power = FALSE
|
||||
has_gravity = TRUE
|
||||
flags = NO_DEATHRATTLE
|
||||
flags_1 = NO_DEATHRATTLE_1
|
||||
|
||||
/area/ctf/control_room
|
||||
name = "Control Room A"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "Holodeck"
|
||||
icon_state = "Holodeck"
|
||||
dynamic_lighting = DYNAMIC_LIGHTING_DISABLED
|
||||
flags = 0
|
||||
flags_1 = 0
|
||||
hidden = TRUE
|
||||
|
||||
var/obj/machinery/computer/holodeck/linked
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
power_light = FALSE
|
||||
outdoors = TRUE
|
||||
ambientsounds = list('sound/ambience/ambimine.ogg')
|
||||
flags = NONE
|
||||
flags_1 = NONE
|
||||
|
||||
/area/mine/unexplored
|
||||
name = "Mine"
|
||||
@@ -30,7 +30,7 @@
|
||||
power_light = FALSE
|
||||
outdoors = TRUE
|
||||
ambientsounds = list('sound/ambience/ambimine.ogg')
|
||||
flags = NONE
|
||||
flags_1 = NONE
|
||||
|
||||
/area/mine/lobby
|
||||
name = "Mining Station"
|
||||
@@ -86,7 +86,7 @@
|
||||
/area/lavaland
|
||||
icon_state = "mining"
|
||||
has_gravity = TRUE
|
||||
flags = NONE
|
||||
flags_1 = NONE
|
||||
|
||||
/area/lavaland/surface
|
||||
name = "Lavaland"
|
||||
|
||||
+8
-8
@@ -3,8 +3,8 @@
|
||||
plane = GAME_PLANE
|
||||
var/level = 2
|
||||
|
||||
var/flags = 0
|
||||
var/list/secondary_flags
|
||||
var/flags_1 = 0
|
||||
var/flags_2 = 0
|
||||
|
||||
var/list/fingerprints
|
||||
var/list/fingerprintshidden
|
||||
@@ -193,23 +193,23 @@
|
||||
// returns true if open
|
||||
// false if closed
|
||||
/atom/proc/is_open_container()
|
||||
return container_type & OPENCONTAINER
|
||||
return container_type & OPENCONTAINER_1
|
||||
|
||||
/atom/proc/is_transparent()
|
||||
return container_type & TRANSPARENT
|
||||
return container_type & TRANSPARENT_1
|
||||
|
||||
/atom/proc/is_injectable(allowmobs = TRUE)
|
||||
if(isliving(src) && allowmobs)
|
||||
var/mob/living/L = src
|
||||
return L.can_inject()
|
||||
if(container_type & OPENCONTAINER)
|
||||
if(container_type & OPENCONTAINER_1)
|
||||
return TRUE
|
||||
return container_type & INJECTABLE
|
||||
return container_type & INJECTABLE_1
|
||||
|
||||
/atom/proc/is_drawable(allowmobs = TRUE)
|
||||
if(is_injectable(allowmobs)) //Everything that can be injected can also be drawn from, but not vice versa
|
||||
return TRUE
|
||||
return container_type & DRAWABLE
|
||||
return container_type & DRAWABLE_1
|
||||
|
||||
/atom/proc/allow_drop()
|
||||
return 1
|
||||
@@ -221,7 +221,7 @@
|
||||
return
|
||||
|
||||
/atom/proc/emp_act(severity)
|
||||
if(istype(wires) && !HAS_SECONDARY_FLAG(src, NO_EMP_WIRES))
|
||||
if(istype(wires) && !(flags_2 & NO_EMP_WIRES_2))
|
||||
wires.emp_pulse()
|
||||
|
||||
/atom/proc/bullet_act(obj/item/projectile/P, def_zone)
|
||||
|
||||
+11
-11
@@ -137,7 +137,7 @@
|
||||
if (orbiting)
|
||||
orbiting.Check()
|
||||
|
||||
if(flags & CLEAN_ON_MOVE)
|
||||
if(flags_1 & CLEAN_ON_MOVE_1)
|
||||
clean_on_move()
|
||||
|
||||
var/datum/proximity_monitor/proximity_monitor = src.proximity_monitor
|
||||
@@ -176,8 +176,8 @@
|
||||
to_chat(cleaned_human, "<span class='danger'>[src] cleans your face!</span>")
|
||||
|
||||
/atom/movable/Destroy(force)
|
||||
var/inform_admins = HAS_SECONDARY_FLAG(src, INFORM_ADMINS_ON_RELOCATE)
|
||||
var/stationloving = HAS_SECONDARY_FLAG(src, STATIONLOVING)
|
||||
var/inform_admins = (flags_2 & INFORM_ADMINS_ON_RELOCATE_2)
|
||||
var/stationloving = (flags_2 & STATIONLOVING_2)
|
||||
|
||||
if(inform_admins && force)
|
||||
var/turf/T = get_turf(src)
|
||||
@@ -221,7 +221,7 @@
|
||||
//This is tg's equivalent to the byond bump, it used to be called bump with a second arg
|
||||
//to differentiate it, naturally everyone forgot about this immediately and so some things
|
||||
//would bump twice, so now it's called Collide
|
||||
/atom/movable/proc/Collide(atom/A)
|
||||
/atom/movable/proc/Collide(atom/A)
|
||||
if((A))
|
||||
if(throwing)
|
||||
throwing.hit_atom(A)
|
||||
@@ -323,7 +323,7 @@
|
||||
..()
|
||||
|
||||
/atom/movable/proc/throw_at(atom/target, range, speed, mob/thrower, spin=TRUE, diagonals_first = FALSE, var/datum/callback/callback)
|
||||
if (!target || (flags & NODROP) || speed <= 0)
|
||||
if (!target || (flags_1 & NODROP_1) || speed <= 0)
|
||||
return
|
||||
|
||||
if (pulledby)
|
||||
@@ -550,21 +550,21 @@
|
||||
*/
|
||||
|
||||
/atom/movable/proc/set_stationloving(state, inform_admins=FALSE)
|
||||
var/currently = HAS_SECONDARY_FLAG(src, STATIONLOVING)
|
||||
var/currently = (flags_2 & STATIONLOVING_2)
|
||||
|
||||
if(inform_admins)
|
||||
SET_SECONDARY_FLAG(src, INFORM_ADMINS_ON_RELOCATE)
|
||||
flags_2 |= INFORM_ADMINS_ON_RELOCATE_2
|
||||
else
|
||||
CLEAR_SECONDARY_FLAG(src, INFORM_ADMINS_ON_RELOCATE)
|
||||
flags_2 &= ~INFORM_ADMINS_ON_RELOCATE_2
|
||||
|
||||
if(state == currently)
|
||||
return
|
||||
else if(!state)
|
||||
STOP_PROCESSING(SSinbounds, src)
|
||||
CLEAR_SECONDARY_FLAG(src, STATIONLOVING)
|
||||
flags_2 &= ~STATIONLOVING_2
|
||||
else
|
||||
START_PROCESSING(SSinbounds, src)
|
||||
SET_SECONDARY_FLAG(src, STATIONLOVING)
|
||||
flags_2 |= STATIONLOVING_2
|
||||
|
||||
/atom/movable/proc/relocate()
|
||||
var/targetturf = find_safe_turf(ZLEVEL_STATION)
|
||||
@@ -593,7 +593,7 @@
|
||||
to_chat(get(src, /mob), "<span class='danger'>You can't help but feel that you just lost something back there...</span>")
|
||||
var/turf/targetturf = relocate()
|
||||
log_game("[src] has been moved out of bounds in [COORD(currentturf)]. Moving it to [COORD(targetturf)].")
|
||||
if(HAS_SECONDARY_FLAG(src, INFORM_ADMINS_ON_RELOCATE))
|
||||
if(flags_2 & INFORM_ADMINS_ON_RELOCATE_2)
|
||||
message_admins("[src] has been moved out of bounds in [ADMIN_COORDJMP(currentturf)]. Moving it to [ADMIN_COORDJMP(targetturf)].")
|
||||
|
||||
/atom/movable/proc/in_bounds()
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
/obj/effect/proc_holder/changeling/weapon/proc/check_weapon(mob/user, obj/item/hand_item)
|
||||
if(istype(hand_item, weapon_type))
|
||||
user.temporarilyRemoveItemFromInventory(hand_item, TRUE) //DROPDEL will delete the item
|
||||
user.temporarilyRemoveItemFromInventory(hand_item, TRUE) //DROPDEL_1 will delete the item
|
||||
if(!silent)
|
||||
playsound(user, 'sound/effects/blobattack.ogg', 30, 1)
|
||||
user.visible_message("<span class='warning'>With a sickening crunch, [user] reforms their [weapon_name_simple] into an arm!</span>", "<span class='notice'>We assimilate the [weapon_name_simple] back into our body.</span>", "<span class='italics>You hear organic matter ripping and tearing!</span>")
|
||||
@@ -148,7 +148,7 @@
|
||||
item_state = "arm_blade"
|
||||
lefthand_file = 'icons/mob/inhands/antag/changeling_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/antag/changeling_righthand.dmi'
|
||||
flags = ABSTRACT | NODROP | DROPDEL
|
||||
flags_1 = ABSTRACT_1 | NODROP_1 | DROPDEL_1
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
force = 25
|
||||
throwforce = 0 //Just to be on the safe side
|
||||
@@ -227,7 +227,7 @@
|
||||
item_state = "tentacle"
|
||||
lefthand_file = 'icons/mob/inhands/antag/changeling_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/antag/changeling_righthand.dmi'
|
||||
flags = ABSTRACT | NODROP | DROPDEL | NOBLUDGEON
|
||||
flags_1 = ABSTRACT_1 | NODROP_1 | DROPDEL_1 | NOBLUDGEON_1
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
ammo_type = /obj/item/ammo_casing/magic/tentacle
|
||||
fire_sound = 'sound/effects/splat.ogg'
|
||||
@@ -395,7 +395,7 @@
|
||||
/obj/item/weapon/shield/changeling
|
||||
name = "shield-like mass"
|
||||
desc = "A mass of tough, boney tissue. You can still see the fingers as a twisted pattern in the shield."
|
||||
flags = ABSTRACT | NODROP | DROPDEL
|
||||
flags_1 = ABSTRACT_1 | NODROP_1 | DROPDEL_1
|
||||
icon = 'icons/obj/weapons.dmi'
|
||||
icon_state = "ling_shield"
|
||||
lefthand_file = 'icons/mob/inhands/antag/changeling_lefthand.dmi'
|
||||
@@ -443,7 +443,7 @@
|
||||
name = "flesh mass"
|
||||
icon_state = "lingspacesuit"
|
||||
desc = "A huge, bulky mass of pressure and temperature-resistant organic tissue, evolved to facilitate space travel."
|
||||
flags = STOPSPRESSUREDMAGE | NODROP | DROPDEL //Not THICKMATERIAL because it's organic tissue, so if somebody tries to inject something into it, it still ends up in your blood. (also balance but muh fluff)
|
||||
flags_1 = STOPSPRESSUREDMAGE_1 | NODROP_1 | DROPDEL_1 //Not THICKMATERIAL_1 because it's organic tissue, so if somebody tries to inject something into it, it still ends up in your blood. (also balance but muh fluff)
|
||||
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/internals/emergency_oxygen, /obj/item/weapon/tank/internals/oxygen)
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 90, acid = 90) //No armor at all.
|
||||
|
||||
@@ -462,7 +462,7 @@
|
||||
name = "flesh mass"
|
||||
icon_state = "lingspacehelmet"
|
||||
desc = "A covering of pressure and temperature-resistant organic tissue with a glass-like chitin front."
|
||||
flags = STOPSPRESSUREDMAGE | NODROP | DROPDEL //Again, no THICKMATERIAL.
|
||||
flags_1 = STOPSPRESSUREDMAGE_1 | NODROP_1 | DROPDEL_1 //Again, no THICKMATERIAL_1.
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 90, acid = 90)
|
||||
flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH
|
||||
|
||||
@@ -487,7 +487,7 @@
|
||||
name = "chitinous mass"
|
||||
desc = "A tough, hard covering of black chitin."
|
||||
icon_state = "lingarmor"
|
||||
flags = NODROP | DROPDEL
|
||||
flags_1 = NODROP_1 | DROPDEL_1
|
||||
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
||||
armor = list(melee = 40, bullet = 40, laser = 40, energy = 20, bomb = 10, bio = 4, rad = 0, fire = 90, acid = 90)
|
||||
flags_inv = HIDEJUMPSUIT
|
||||
@@ -503,6 +503,6 @@
|
||||
name = "chitinous mass"
|
||||
desc = "A tough, hard covering of black chitin with transparent chitin in front."
|
||||
icon_state = "lingarmorhelmet"
|
||||
flags = NODROP | DROPDEL
|
||||
flags_1 = NODROP_1 | DROPDEL_1
|
||||
armor = list(melee = 40, bullet = 40, laser = 40, energy = 20, bomb = 10, bio = 4, rad = 0, fire = 90, acid = 90)
|
||||
flags_inv = HIDEEARS|HIDEHAIR|HIDEEYES|HIDEFACIALHAIR|HIDEFACE
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
diff a/code/game/gamemodes/changeling/powers/mutations.dm b/code/game/gamemodes/changeling/powers/mutations.dm (rejected hunks)
|
||||
@@ -395,7 +395,7 @@
|
||||
/obj/item/shield/changeling
|
||||
name = "shield-like mass"
|
||||
desc = "A mass of tough, boney tissue. You can still see the fingers as a twisted pattern in the shield."
|
||||
- flags = ABSTRACT | NODROP | DROPDEL
|
||||
+ flags_1 = ABSTRACT_1 | NODROP_1 | DROPDEL_1
|
||||
icon = 'icons/obj/items_and_weapons.dmi'
|
||||
icon_state = "ling_shield"
|
||||
lefthand_file = 'icons/mob/inhands/antag/changeling_lefthand.dmi'
|
||||
@@ -443,7 +443,7 @@
|
||||
name = "flesh mass"
|
||||
icon_state = "lingspacesuit"
|
||||
desc = "A huge, bulky mass of pressure and temperature-resistant organic tissue, evolved to facilitate space travel."
|
||||
- flags = STOPSPRESSUREDMAGE | NODROP | DROPDEL //Not THICKMATERIAL because it's organic tissue, so if somebody tries to inject something into it, it still ends up in your blood. (also balance but muh fluff)
|
||||
+ flags_1 = STOPSPRESSUREDMAGE_1 | NODROP_1 | DROPDEL_1 //Not THICKMATERIAL_1 because it's organic tissue, so if somebody tries to inject something into it, it still ends up in your blood. (also balance but muh fluff)
|
||||
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/oxygen)
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 90, acid = 90) //No armor at all.
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
/obj/item/clothing/glasses/changeling
|
||||
name = "flesh"
|
||||
flags = NODROP
|
||||
flags_1 = NODROP_1
|
||||
|
||||
/obj/item/clothing/glasses/changeling/attack_hand(mob/user)
|
||||
if(loc == user && user.mind && user.mind.changeling)
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
/obj/item/clothing/under/changeling
|
||||
name = "flesh"
|
||||
flags = NODROP
|
||||
flags_1 = NODROP_1
|
||||
|
||||
/obj/item/clothing/under/changeling/attack_hand(mob/user)
|
||||
if(loc == user && user.mind && user.mind.changeling)
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
/obj/item/clothing/suit/changeling
|
||||
name = "flesh"
|
||||
flags = NODROP
|
||||
flags_1 = NODROP_1
|
||||
allowed = list(/obj/item/changeling)
|
||||
|
||||
/obj/item/clothing/suit/changeling/attack_hand(mob/user)
|
||||
@@ -42,7 +42,7 @@
|
||||
|
||||
/obj/item/clothing/head/changeling
|
||||
name = "flesh"
|
||||
flags = NODROP
|
||||
flags_1 = NODROP_1
|
||||
|
||||
/obj/item/clothing/head/changeling/attack_hand(mob/user)
|
||||
if(loc == user && user.mind && user.mind.changeling)
|
||||
@@ -53,7 +53,7 @@
|
||||
|
||||
/obj/item/clothing/shoes/changeling
|
||||
name = "flesh"
|
||||
flags = NODROP
|
||||
flags_1 = NODROP_1
|
||||
|
||||
/obj/item/clothing/shoes/changeling/attack_hand(mob/user)
|
||||
if(loc == user && user.mind && user.mind.changeling)
|
||||
@@ -64,7 +64,7 @@
|
||||
|
||||
/obj/item/clothing/gloves/changeling
|
||||
name = "flesh"
|
||||
flags = NODROP
|
||||
flags_1 = NODROP_1
|
||||
|
||||
/obj/item/clothing/gloves/changeling/attack_hand(mob/user)
|
||||
if(loc == user && user.mind && user.mind.changeling)
|
||||
@@ -75,7 +75,7 @@
|
||||
|
||||
/obj/item/clothing/mask/changeling
|
||||
name = "flesh"
|
||||
flags = NODROP
|
||||
flags_1 = NODROP_1
|
||||
|
||||
/obj/item/clothing/mask/changeling/attack_hand(mob/user)
|
||||
if(loc == user && user.mind && user.mind.changeling)
|
||||
@@ -86,7 +86,7 @@
|
||||
|
||||
/obj/item/changeling
|
||||
name = "flesh"
|
||||
flags = NODROP
|
||||
flags_1 = NODROP_1
|
||||
slot_flags = ALL
|
||||
allowed = list(/obj/item/changeling)
|
||||
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
/obj/effect/clockwork/sigil/submission/sigil_effects(mob/living/L)
|
||||
L.visible_message("<span class='warning'>[src] begins to glow a piercing magenta!</span>", "<span class='sevtug'>You feel something start to invade your mind...</span>")
|
||||
var/oldcolor = color
|
||||
animate(src, color = "#AF0AAF", time = convert_time, flags = ANIMATION_END_NOW)
|
||||
animate(src, color = "#AF0AAF", time = convert_time, flags_1 = ANIMATION_END_NOW)
|
||||
var/obj/effect/temp_visual/ratvar/sigil/glow
|
||||
if(glow_type)
|
||||
glow = new glow_type(get_turf(src))
|
||||
@@ -114,7 +114,7 @@
|
||||
if(get_turf(L) != get_turf(src))
|
||||
if(glow)
|
||||
qdel(glow)
|
||||
animate(src, color = oldcolor, time = 20, flags = ANIMATION_END_NOW)
|
||||
animate(src, color = oldcolor, time = 20, flags_1 = ANIMATION_END_NOW)
|
||||
addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 20)
|
||||
visible_message("<span class='warning'>[src] slowly stops glowing!</span>")
|
||||
return
|
||||
@@ -136,7 +136,7 @@
|
||||
to_chat(M, "<span class='heavy_brass'>[message] you!</span>")
|
||||
else
|
||||
to_chat(M, "<span class='heavy_brass'>[message] [L.real_name]!</span>")
|
||||
animate(src, color = oldcolor, time = 20, flags = ANIMATION_END_NOW)
|
||||
animate(src, color = oldcolor, time = 20, flags_1 = ANIMATION_END_NOW)
|
||||
addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 20)
|
||||
visible_message("<span class='warning'>[src] slowly stops glowing!</span>")
|
||||
|
||||
@@ -314,7 +314,7 @@
|
||||
if((is_servant_of_ratvar(L) && L.suiciding) || sigil_active)
|
||||
return
|
||||
visible_message("<span class='warning'>[src] begins to glow bright blue!</span>")
|
||||
animate(src, alpha = 255, time = 10, flags = ANIMATION_END_NOW) //we may have a previous animation going. finish it first, then do this one without delay.
|
||||
animate(src, alpha = 255, time = 10, flags_1 = ANIMATION_END_NOW) //we may have a previous animation going. finish it first, then do this one without delay.
|
||||
sleep(10)
|
||||
//as long as they're still on the sigil and are either not a servant or they're a servant AND it has remaining vitality
|
||||
while(L && (!is_servant_of_ratvar(L) || (is_servant_of_ratvar(L) && (GLOB.ratvar_awakens || GLOB.clockwork_vitality))) && get_turf(L) == get_turf(src))
|
||||
@@ -380,4 +380,4 @@
|
||||
animation_number = initial(animation_number)
|
||||
sigil_active = FALSE
|
||||
visible_message("<span class='warning'>[src] slowly stops glowing!</span>")
|
||||
animate(src, alpha = initial(alpha), time = 10, flags = ANIMATION_END_NOW)
|
||||
animate(src, alpha = initial(alpha), time = 10, flags_1 = ANIMATION_END_NOW)
|
||||
|
||||
@@ -98,12 +98,12 @@
|
||||
if(severity == 1 && uses)
|
||||
uses = 0
|
||||
visible_message("<span class='warning'>[src] is disrupted!</span>")
|
||||
animate(src, alpha = 0, transform = matrix()*2, time = 10, flags = ANIMATION_END_NOW)
|
||||
animate(src, alpha = 0, transform = matrix()*2, time = 10, flags_1 = ANIMATION_END_NOW)
|
||||
deltimer(timerid)
|
||||
timerid = QDEL_IN(src, 10)
|
||||
linked_gateway.uses = 0
|
||||
linked_gateway.visible_message("<span class='warning'>[linked_gateway] is disrupted!</span>")
|
||||
animate(linked_gateway, alpha = 0, transform = matrix()*2, time = 10, flags = ANIMATION_END_NOW)
|
||||
animate(linked_gateway, alpha = 0, transform = matrix()*2, time = 10, flags_1 = ANIMATION_END_NOW)
|
||||
deltimer(linked_gateway.timerid)
|
||||
linked_gateway.timerid = QDEL_IN(linked_gateway, 10)
|
||||
return TRUE
|
||||
@@ -136,13 +136,13 @@
|
||||
uses = max(0, uses - 1)
|
||||
linked_gateway.uses = max(0, linked_gateway.uses - 1)
|
||||
if(!uses)
|
||||
animate(src, transform = matrix() * 0.1, time = 10, flags = ANIMATION_END_NOW)
|
||||
animate(linked_gateway, transform = matrix() * 0.1, time = 10, flags = ANIMATION_END_NOW)
|
||||
animate(src, transform = matrix() * 0.1, time = 10, flags_1 = ANIMATION_END_NOW)
|
||||
animate(linked_gateway, transform = matrix() * 0.1, time = 10, flags_1 = ANIMATION_END_NOW)
|
||||
density = FALSE
|
||||
linked_gateway.density = FALSE
|
||||
else
|
||||
animate(src, transform = matrix() / 1.5, time = 10, flags = ANIMATION_END_NOW)
|
||||
animate(linked_gateway, transform = matrix() / 1.5, time = 10, flags = ANIMATION_END_NOW)
|
||||
animate(src, transform = matrix() / 1.5, time = 10, flags_1 = ANIMATION_END_NOW)
|
||||
animate(linked_gateway, transform = matrix() / 1.5, time = 10, flags_1 = ANIMATION_END_NOW)
|
||||
addtimer(CALLBACK(src, .proc/check_uses), 10)
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -328,7 +328,7 @@
|
||||
return
|
||||
if(health == maxHealth)
|
||||
return FALSE
|
||||
else if(!(flags & GODMODE))
|
||||
else if(!(flags_1 & GODMODE))
|
||||
user.visible_message("<span class='notice'>[user]'s [fabricator.name] starts coverin[src == user ? "g [user.p_them()]" : "g [src]"] in glowing orange energy...</span>", \
|
||||
"<span class='alloy'>You start repairin[src == user ? "g yourself" : "g [src]"]...</span>")
|
||||
fabricator.repairing = src
|
||||
|
||||
@@ -365,7 +365,7 @@
|
||||
return
|
||||
if(health == maxHealth)
|
||||
return FALSE
|
||||
else if(!(flags & GODMODE))
|
||||
else if(!(flags_1 & GODMODE))
|
||||
user.visible_message("<span class='notice'>[user]'s [proselytizer.name] starts coverin[src == user ? "g [user.p_them()]" : "g [src]"] in glowing orange energy...</span>", \
|
||||
"<span class='alloy'>You start repairin[src == user ? "g yourself" : "g [src]"]...</span>")
|
||||
proselytizer.repairing = src
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
pulled_binding = binding
|
||||
ranged_ability_user.start_pulling(binding)
|
||||
slab.busy = "sustaining Geis"
|
||||
slab.flags |= NODROP
|
||||
slab.flags_1 |= NODROP_1
|
||||
while(!QDELETED(binding) && !QDELETED(ranged_ability_user))
|
||||
if(ranged_ability_user.pulling == binding)
|
||||
pulled_binding = binding
|
||||
@@ -114,7 +114,7 @@
|
||||
add_mousepointer(ranged_ability_user.client)
|
||||
sleep(1)
|
||||
if(!QDELETED(slab))
|
||||
slab.flags &= ~NODROP
|
||||
slab.flags_1 &= ~NODROP_1
|
||||
in_progress = FALSE
|
||||
successful = TRUE
|
||||
|
||||
|
||||
@@ -20,12 +20,12 @@
|
||||
/obj/item/clothing/head/helmet/clockwork/ratvar_act()
|
||||
if(GLOB.ratvar_awakens)
|
||||
armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 100, bio = 100, rad = 100, fire = 100, acid = 100)
|
||||
flags |= STOPSPRESSUREDMAGE
|
||||
flags_1 |= STOPSPRESSUREDMAGE_1
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
|
||||
min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT
|
||||
else
|
||||
armor = list(melee = 80, bullet = 70, laser = -25, energy = 0, bomb = 60, bio = 0, rad = 0, fire = 100, acid = 100)
|
||||
flags &= ~STOPSPRESSUREDMAGE
|
||||
flags_1 &= ~STOPSPRESSUREDMAGE_1
|
||||
max_heat_protection_temperature = initial(max_heat_protection_temperature)
|
||||
min_cold_protection_temperature = initial(min_cold_protection_temperature)
|
||||
|
||||
@@ -76,12 +76,12 @@
|
||||
/obj/item/clothing/suit/armor/clockwork/ratvar_act()
|
||||
if(GLOB.ratvar_awakens)
|
||||
armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 100, bio = 100, rad = 100, fire = 100, acid = 100)
|
||||
flags |= STOPSPRESSUREDMAGE
|
||||
flags_1 |= STOPSPRESSUREDMAGE_1
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
|
||||
min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT
|
||||
else
|
||||
armor = list(melee = 80, bullet = 70, laser = -25, energy = 0, bomb = 60, bio = 0, rad = 0, fire = 100, acid = 100)
|
||||
flags &= ~STOPSPRESSUREDMAGE
|
||||
flags_1 &= ~STOPSPRESSUREDMAGE_1
|
||||
max_heat_protection_temperature = initial(max_heat_protection_temperature)
|
||||
min_cold_protection_temperature = initial(min_cold_protection_temperature)
|
||||
|
||||
@@ -137,12 +137,12 @@
|
||||
/obj/item/clothing/gloves/clockwork/ratvar_act()
|
||||
if(GLOB.ratvar_awakens)
|
||||
armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 100, bio = 100, rad = 100, fire = 100, acid = 100)
|
||||
flags |= STOPSPRESSUREDMAGE
|
||||
flags_1 |= STOPSPRESSUREDMAGE_1
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
|
||||
min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT
|
||||
else
|
||||
armor = list(melee = 80, bullet = 70, laser = -25, energy = 0, bomb = 60, bio = 0, rad = 0, fire = 100, acid = 100)
|
||||
flags &= ~STOPSPRESSUREDMAGE
|
||||
flags_1 &= ~STOPSPRESSUREDMAGE_1
|
||||
max_heat_protection_temperature = initial(max_heat_protection_temperature)
|
||||
min_cold_protection_temperature = initial(min_cold_protection_temperature)
|
||||
|
||||
@@ -192,9 +192,9 @@
|
||||
|
||||
/obj/item/clothing/shoes/clockwork/ratvar_act()
|
||||
if(GLOB.ratvar_awakens)
|
||||
flags |= NOSLIP
|
||||
flags_1 |= NOSLIP_1
|
||||
else
|
||||
flags &= ~NOSLIP
|
||||
flags_1 &= ~NOSLIP_1
|
||||
|
||||
/obj/item/clothing/shoes/clockwork/mob_can_equip(mob/M, mob/equipper, slot, disable_warning = 0)
|
||||
if(equipper && !is_servant_of_ratvar(equipper))
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
righthand_file = 'icons/mob/inhands/antag/clockwork_righthand.dmi'
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
force = 5
|
||||
flags = NOBLUDGEON
|
||||
flags_1 = NOBLUDGEON_1
|
||||
var/stored_power = 0 //Requires power to function
|
||||
var/max_power = CLOCKCULT_POWER_UNIT * 10
|
||||
var/uses_power = TRUE
|
||||
@@ -297,7 +297,7 @@
|
||||
if(!silent)
|
||||
to_chat(user, "<span class='warning'>[L] does not serve Ratvar!</span>")
|
||||
return FALSE
|
||||
if(L.health >= L.maxHealth || (L.flags & GODMODE))
|
||||
if(L.health >= L.maxHealth || (L.flags_1 & GODMODE))
|
||||
if(!silent)
|
||||
to_chat(user, "<span class='warning'>[L == user ? "You are" : "[L] is"] at maximum health!</span>")
|
||||
return FALSE
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
. = ..()
|
||||
|
||||
/obj/structure/destructible/clockwork/massive/celestial_gateway/deconstruct(disassembled = TRUE)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!disassembled)
|
||||
resistance_flags |= INDESTRUCTIBLE
|
||||
countdown.stop()
|
||||
|
||||
@@ -126,7 +126,7 @@
|
||||
desc = "A flickering ring preventing you from holding items."
|
||||
icon = 'icons/effects/clockwork_effects.dmi'
|
||||
icon_state = "geisbinding_full"
|
||||
flags = NODROP|ABSTRACT|DROPDEL
|
||||
flags_1 = NODROP_1|ABSTRACT_1|DROPDEL_1
|
||||
|
||||
/obj/item/geis_binding/pre_attackby(atom/target, mob/living/user, params)
|
||||
return FALSE
|
||||
|
||||
@@ -70,6 +70,6 @@
|
||||
return ..()
|
||||
|
||||
/obj/structure/destructible/clockwork/wall_gear/deconstruct(disassembled = TRUE)
|
||||
if(!(flags & NODECONSTRUCT) && disassembled)
|
||||
if(!(flags_1 & NODECONSTRUCT_1) && disassembled)
|
||||
new /obj/item/stack/tile/brass(loc, 3)
|
||||
return ..()
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
item_state = "cultblade"
|
||||
lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
|
||||
flags = CONDUCT
|
||||
flags_1 = CONDUCT_1
|
||||
sharpness = IS_SHARP
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
force = 30
|
||||
@@ -31,7 +31,7 @@
|
||||
/obj/item/weapon/melee/cultblade/ghost
|
||||
name = "eldritch sword"
|
||||
force = 19 //can't break normal airlocks
|
||||
flags = NODROP|DROPDEL
|
||||
flags_1 = NODROP_1|DROPDEL_1
|
||||
|
||||
/obj/item/weapon/melee/cultblade/pickup(mob/living/user)
|
||||
..()
|
||||
@@ -108,7 +108,7 @@
|
||||
item_state = "cult_hoodalt"
|
||||
|
||||
/obj/item/clothing/head/culthood/alt/ghost
|
||||
flags = NODROP|DROPDEL
|
||||
flags_1 = NODROP_1|DROPDEL_1
|
||||
|
||||
/obj/item/clothing/suit/cultrobes/alt
|
||||
name = "cultist robes"
|
||||
@@ -117,7 +117,7 @@
|
||||
item_state = "cultrobesalt"
|
||||
|
||||
/obj/item/clothing/suit/cultrobes/alt/ghost
|
||||
flags = NODROP|DROPDEL
|
||||
flags_1 = NODROP_1|DROPDEL_1
|
||||
|
||||
|
||||
/obj/item/clothing/head/magus
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
diff a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm (rejected hunks)
|
||||
@@ -31,7 +31,7 @@
|
||||
/obj/item/melee/cultblade/ghost
|
||||
name = "eldritch sword"
|
||||
force = 19 //can't break normal airlocks
|
||||
- flags = NODROP|DROPDEL
|
||||
+ flags_1 = NODROP_1|DROPDEL_1
|
||||
|
||||
/obj/item/melee/cultblade/pickup(mob/living/user)
|
||||
..()
|
||||
@@ -343,7 +343,7 @@
|
||||
desc = "Shackles that bind the wrists with sinister magic."
|
||||
trashtype = /obj/item/weapon/restraints/handcuffs/energy/used
|
||||
origin_tech = "materials=2;magnets=5"
|
||||
flags = DROPDEL
|
||||
flags_1 = DROPDEL_1
|
||||
|
||||
/obj/item/weapon/restraints/handcuffs/energy/cult/used/dropped(mob/user)
|
||||
user.visible_message("<span class='danger'>[user]'s shackles shatter in a discharge of dark magic!</span>", \
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
diff a/code/game/gamemodes/cult/talisman.dm b/code/game/gamemodes/cult/talisman.dm (rejected hunks)
|
||||
@@ -343,7 +343,7 @@
|
||||
desc = "Shackles that bind the wrists with sinister magic."
|
||||
trashtype = /obj/item/restraints/handcuffs/energy/used
|
||||
origin_tech = "materials=2;magnets=5"
|
||||
- flags = DROPDEL
|
||||
+ flags_1 = DROPDEL_1
|
||||
|
||||
/obj/item/restraints/handcuffs/energy/cult/used/dropped(mob/user)
|
||||
user.visible_message("<span class='danger'>[user]'s shackles shatter in a discharge of dark magic!</span>", \
|
||||
@@ -65,7 +65,7 @@
|
||||
|
||||
//Left hand items
|
||||
for(var/obj/item/I in held_items)
|
||||
if(!(I.flags & ABSTRACT))
|
||||
if(!(I.flags_1 & ABSTRACT_1))
|
||||
if(I.blood_DNA)
|
||||
msg += "<span class='warning'>It is holding [icon2html(I, user)] [I.gender==PLURAL?"some":"a"] blood-stained [I.name] in its [get_held_index_name(get_held_index_of_item(I))]!</span>\n"
|
||||
else
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
var/probability = 0
|
||||
var/station_was_nuked = 0 //see nuclearbomb.dm and malfunction.dm
|
||||
var/explosion_in_progress = 0 //sit back and relax
|
||||
var/round_ends_with_antag_death = 0 //flags the "one verse the station" antags as such
|
||||
var/round_ends_with_antag_death = 0 //flags_1 the "one verse the station" antags as such
|
||||
var/list/datum/mind/modePlayer = new
|
||||
var/list/datum/mind/antag_candidates = list() // List of possible starting antags goes here
|
||||
var/list/restricted_jobs = list() // Jobs it doesn't make sense to be. I.E chaplain or AI cultist
|
||||
@@ -83,7 +83,7 @@
|
||||
|
||||
if(SSdbcore.Connect())
|
||||
var/sql
|
||||
if(SSticker.mode)
|
||||
if(SSticker.mode)
|
||||
sql += "game_mode = '[SSticker.mode]'"
|
||||
if(GLOB.revdata.originmastercommit)
|
||||
if(sql)
|
||||
@@ -111,7 +111,7 @@
|
||||
var/list/living_crew = list()
|
||||
|
||||
for(var/mob/Player in GLOB.mob_list)
|
||||
if(Player.mind && Player.stat != DEAD && !isnewplayer(Player) && !isbrain(Player) && Player.client)
|
||||
if(Player.mind && Player.stat != DEAD && !isnewplayer(Player) && !isbrain(Player) && Player.client)
|
||||
living_crew += Player
|
||||
if(living_crew.len / GLOB.joined_player_list.len <= config.midround_antag_life_check) //If a lot of the player base died, we start fresh
|
||||
message_admins("Convert_roundtype failed due to too many dead people. Limit is [config.midround_antag_life_check * 100]% living crew")
|
||||
@@ -120,7 +120,7 @@
|
||||
var/list/datum/game_mode/runnable_modes = config.get_runnable_midround_modes(living_crew.len)
|
||||
var/list/datum/game_mode/usable_modes = list()
|
||||
for(var/datum/game_mode/G in runnable_modes)
|
||||
if(G.reroll_friendly && living_crew >= G.required_players)
|
||||
if(G.reroll_friendly && living_crew >= G.required_players)
|
||||
usable_modes += G
|
||||
else
|
||||
qdel(G)
|
||||
@@ -208,7 +208,7 @@
|
||||
return 0 //A resource saver: once we find someone who has to die for all antags to be dead, we can just keep checking them, cycling over everyone only when we lose our mark.
|
||||
|
||||
for(var/mob/Player in GLOB.living_mob_list)
|
||||
if(Player.mind && Player.stat != DEAD && !isnewplayer(Player) &&!isbrain(Player) && Player.client)
|
||||
if(Player.mind && Player.stat != DEAD && !isnewplayer(Player) &&!isbrain(Player) && Player.client)
|
||||
if(Player.mind.special_role) //Someone's still antaging!
|
||||
living_antag_player = Player
|
||||
return 0
|
||||
@@ -369,7 +369,7 @@
|
||||
if(candidates.len < recommended_enemies)
|
||||
for(var/mob/dead/new_player/player in players)
|
||||
if(player.client && player.ready == PLAYER_READY_TO_PLAY)
|
||||
if(!(role in player.client.prefs.be_special)) // We don't have enough people who want to be antagonist, make a separate list of people who don't want to be one
|
||||
if(!(role in player.client.prefs.be_special)) // We don't have enough people who want to be antagonist, make a separate list of people who don't want to be one
|
||||
if(!jobban_isbanned(player, "Syndicate") && !jobban_isbanned(player, role)) //Nodrak/Carn: Antag Job-bans
|
||||
drafted += player.mind
|
||||
|
||||
|
||||
@@ -126,11 +126,11 @@
|
||||
icon_state = "dominator-broken"
|
||||
|
||||
/obj/machinery/dominator/obj_break(damage_flag)
|
||||
if(!(stat & BROKEN) && !(flags & NODECONSTRUCT))
|
||||
if(!(stat & BROKEN) && !(flags_1 & NODECONSTRUCT_1))
|
||||
set_broken()
|
||||
|
||||
/obj/machinery/dominator/deconstruct(disassembled = TRUE)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(stat & BROKEN))
|
||||
set_broken()
|
||||
new /obj/item/stack/sheet/plasteel(src.loc)
|
||||
|
||||
@@ -355,7 +355,7 @@
|
||||
name = "Wetwork boots"
|
||||
desc = "A gang's best hitmen are prepared for anything."
|
||||
permeability_coefficient = 0.01
|
||||
flags = NOSLIP
|
||||
flags_1 = NOSLIP_1
|
||||
|
||||
/datum/gang_item/equipment/pen
|
||||
name = "Recruitment Pen"
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
throw_speed = 3
|
||||
throw_range = 7
|
||||
flags = CONDUCT
|
||||
flags_1 = CONDUCT_1
|
||||
origin_tech = "programming=5;bluespace=2;syndicate=5"
|
||||
var/datum/gang/gang //Which gang uses this?
|
||||
var/recalling = 0
|
||||
|
||||
@@ -29,9 +29,9 @@
|
||||
var/combat_armor = list(melee = 50, bullet = 50, laser = 50, energy = 50, bomb = 50, bio = 50, rad = 50, fire = 90, acid = 90)
|
||||
|
||||
/obj/item/clothing/suit/armor/abductor/vest/proc/toggle_nodrop()
|
||||
flags ^= NODROP
|
||||
flags_1 ^= NODROP_1
|
||||
if(ismob(loc))
|
||||
to_chat(loc, "<span class='notice'>Your vest is now [flags & NODROP ? "locked" : "unlocked"].</span>")
|
||||
to_chat(loc, "<span class='notice'>Your vest is now [flags_1 & NODROP_1 ? "locked" : "unlocked"].</span>")
|
||||
|
||||
/obj/item/clothing/suit/armor/abductor/vest/proc/flip_mode()
|
||||
switch(mode)
|
||||
@@ -499,7 +499,7 @@ Congratulations! You are now trained for invasive xenobiology research!"}
|
||||
|
||||
/obj/item/weapon/restraints/handcuffs/energy/used
|
||||
desc = "energy discharge"
|
||||
flags = DROPDEL
|
||||
flags_1 = DROPDEL_1
|
||||
|
||||
/obj/item/weapon/restraints/handcuffs/energy/used/dropped(mob/user)
|
||||
user.visible_message("<span class='danger'>[user]'s [src] break in a discharge of energy!</span>", \
|
||||
@@ -529,10 +529,10 @@ Congratulations! You are now trained for invasive xenobiology research!"}
|
||||
icon_state = "abductor_headset"
|
||||
item_state = "abductor_headset"
|
||||
keyslot2 = new /obj/item/device/encryptionkey/heads/captain
|
||||
flags_2 = BANG_PROTECT_2
|
||||
|
||||
/obj/item/device/radio/headset/abductor/Initialize(mapload)
|
||||
..()
|
||||
SET_SECONDARY_FLAG(src, BANG_PROTECT)
|
||||
make_syndie()
|
||||
|
||||
/obj/item/device/radio/headset/abductor/attackby(obj/item/weapon/W, mob/user, params)
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
diff a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm (rejected hunks)
|
||||
@@ -499,7 +499,7 @@ Congratulations! You are now trained for invasive xenobiology research!"}
|
||||
|
||||
/obj/item/restraints/handcuffs/energy/used
|
||||
desc = "energy discharge"
|
||||
- flags = DROPDEL
|
||||
+ flags_1 = DROPDEL_1
|
||||
|
||||
/obj/item/restraints/handcuffs/energy/used/dropped(mob/user)
|
||||
user.visible_message("<span class='danger'>[user]'s [src] break in a discharge of energy!</span>", \
|
||||
@@ -23,7 +23,7 @@
|
||||
var/obj/item/clothing/suit/armor/abductor/vest/V = locate() in H
|
||||
if(V)
|
||||
console.AddVest(V)
|
||||
V.flags |= NODROP
|
||||
V.flags_1 |= NODROP_1
|
||||
|
||||
var/obj/item/weapon/storage/backpack/B = locate() in H
|
||||
if(B)
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
diff a/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm b/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm (rejected hunks)
|
||||
@@ -23,7 +23,7 @@
|
||||
var/obj/item/clothing/suit/armor/abductor/vest/V = locate() in H
|
||||
if(V)
|
||||
console.AddVest(V)
|
||||
- V.flags |= NODROP
|
||||
+ V.flags_1 |= NODROP_1
|
||||
|
||||
var/obj/item/storage/backpack/B = locate() in H
|
||||
if(B)
|
||||
@@ -69,7 +69,7 @@
|
||||
|
||||
dat+="<br>"
|
||||
dat += "<a href='?src=\ref[src];select_disguise=1'>Select Agent Vest Disguise</a><br>"
|
||||
dat += "<a href='?src=\ref[src];toggle_vest=1'>[vest.flags & NODROP ? "Unlock" : "Lock"] Vest</a><br>"
|
||||
dat += "<a href='?src=\ref[src];toggle_vest=1'>[vest.flags_1 & NODROP_1 ? "Unlock" : "Lock"] Vest</a><br>"
|
||||
else
|
||||
dat += "<span class='bad'>NO AGENT VEST DETECTED</span>"
|
||||
var/datum/browser/popup = new(user, "computer", "Abductor Console", 400, 500)
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
/obj/structure/chair/hades/New()
|
||||
..()
|
||||
flags |= NODECONSTRUCT
|
||||
flags_1 |= NODECONSTRUCT_1
|
||||
for(var/obj/structure/kitchenspike/KS in range(12))
|
||||
watchedSpikes += KS
|
||||
|
||||
|
||||
@@ -238,8 +238,8 @@
|
||||
INVOKE_ASYNC(src, .proc/defile, T)
|
||||
|
||||
/obj/effect/proc_holder/spell/aoe_turf/revenant/defile/proc/defile(turf/T)
|
||||
if(T.flags & NOJAUNT)
|
||||
T.flags -= NOJAUNT
|
||||
if(T.flags_1 & NOJAUNT_1)
|
||||
T.flags_1 &= ~NOJAUNT_1
|
||||
new /obj/effect/temp_visual/revenant(T)
|
||||
if(!istype(T, /turf/open/floor/plating) && !istype(T, /turf/open/floor/engine/cult) && isfloorturf(T) && prob(15))
|
||||
var/turf/open/floor/floor = T
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
desc = "A handheld tracking device that locks onto certain signals."
|
||||
icon = 'icons/obj/device.dmi'
|
||||
icon_state = "pinoff"
|
||||
flags = CONDUCT
|
||||
flags_1 = CONDUCT_1
|
||||
slot_flags = SLOT_BELT
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
item_state = "electronic"
|
||||
@@ -173,7 +173,7 @@
|
||||
name = "cyborg syndicate pinpointer"
|
||||
desc = "An integrated tracking device, jury-rigged to search for living Syndicate operatives."
|
||||
mode = TRACK_OPERATIVES
|
||||
flags = NODROP
|
||||
flags_1 = NODROP_1
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -208,7 +208,7 @@
|
||||
lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
flags = CONDUCT
|
||||
flags_1 = CONDUCT_1
|
||||
slot_flags = SLOT_BELT
|
||||
sharpness = IS_SHARP
|
||||
force = 20
|
||||
|
||||
@@ -213,7 +213,7 @@
|
||||
|
||||
/datum/spellbook_entry/lightningbolt/Buy(mob/living/carbon/human/user,obj/item/weapon/spellbook/book) //return 1 on success
|
||||
. = ..()
|
||||
SET_SECONDARY_FLAG(user, TESLA_IGNORE)
|
||||
user.flags_2 |= TESLA_IGNORE_2
|
||||
|
||||
/datum/spellbook_entry/infinite_guns
|
||||
name = "Lesser Summon Guns"
|
||||
@@ -865,7 +865,7 @@
|
||||
if(ishuman(user))
|
||||
to_chat(user,"<font size='15' color='red'><b>HOR-SIE HAS RISEN</b></font>")
|
||||
var/obj/item/clothing/mask/horsehead/magichead = new /obj/item/clothing/mask/horsehead
|
||||
magichead.flags |= NODROP //curses!
|
||||
magichead.flags_1 |= NODROP_1 //curses!
|
||||
magichead.flags_inv &= ~HIDEFACE //so you can still see their face
|
||||
magichead.voicechange = 1 //NEEEEIIGHH
|
||||
if(!user.dropItemToGround(user.wear_mask))
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
return ..()
|
||||
|
||||
/obj/machinery/pdapainter/deconstruct(disassembled = TRUE)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(stat & BROKEN))
|
||||
stat |= BROKEN
|
||||
update_icon()
|
||||
|
||||
@@ -35,8 +35,8 @@ Class Variables:
|
||||
Next uid value in sequence
|
||||
|
||||
stat (bitflag)
|
||||
Machine status bit flags.
|
||||
Possible bit flags:
|
||||
Machine status bit flags_1.
|
||||
Possible bit flags_1:
|
||||
BROKEN:1 -- Machine is broken
|
||||
NOPOWER:2 -- No power is being supplied to machine.
|
||||
POWEROFF:4 -- tbd
|
||||
@@ -307,7 +307,7 @@ Class Procs:
|
||||
gl_uid++
|
||||
|
||||
/obj/machinery/proc/default_pry_open(obj/item/weapon/crowbar/C)
|
||||
. = !(state_open || panel_open || is_operational() || (flags & NODECONSTRUCT)) && istype(C)
|
||||
. = !(state_open || panel_open || is_operational() || (flags_1 & NODECONSTRUCT_1)) && istype(C)
|
||||
if(.)
|
||||
playsound(loc, C.usesound, 50, 1)
|
||||
visible_message("<span class='notice'>[usr] pries open \the [src].</span>", "<span class='notice'>You pry open \the [src].</span>")
|
||||
@@ -315,13 +315,13 @@ Class Procs:
|
||||
return 1
|
||||
|
||||
/obj/machinery/proc/default_deconstruction_crowbar(obj/item/weapon/crowbar/C, ignore_panel = 0)
|
||||
. = istype(C) && (panel_open || ignore_panel) && !(flags & NODECONSTRUCT)
|
||||
. = istype(C) && (panel_open || ignore_panel) && !(flags_1 & NODECONSTRUCT_1)
|
||||
if(.)
|
||||
playsound(loc, C.usesound, 50, 1)
|
||||
deconstruct(TRUE)
|
||||
|
||||
/obj/machinery/deconstruct(disassembled = TRUE)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
on_deconstruction()
|
||||
if(component_parts && component_parts.len)
|
||||
spawn_frame(disassembled)
|
||||
@@ -340,7 +340,7 @@ Class Procs:
|
||||
M.icon_state = "box_1"
|
||||
|
||||
/obj/machinery/obj_break(damage_flag)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
stat |= BROKEN
|
||||
|
||||
/obj/machinery/contents_explosion(severity, target)
|
||||
@@ -354,7 +354,7 @@ Class Procs:
|
||||
updateUsrDialog()
|
||||
|
||||
/obj/machinery/proc/default_deconstruction_screwdriver(mob/user, icon_state_open, icon_state_closed, obj/item/weapon/screwdriver/S)
|
||||
if(istype(S) && !(flags & NODECONSTRUCT))
|
||||
if(istype(S) && !(flags_1 & NODECONSTRUCT_1))
|
||||
playsound(loc, S.usesound, 50, 1)
|
||||
if(!panel_open)
|
||||
panel_open = TRUE
|
||||
@@ -382,7 +382,7 @@ Class Procs:
|
||||
return SUCCESSFUL_UNFASTEN
|
||||
|
||||
/obj/proc/default_unfasten_wrench(mob/user, obj/item/weapon/wrench/W, time = 20) //try to unwrench an object in a WONDERFUL DYNAMIC WAY
|
||||
if(istype(W) && !(flags & NODECONSTRUCT))
|
||||
if(istype(W) && !(flags_1 & NODECONSTRUCT_1))
|
||||
var/can_be_unfasten = can_be_unfasten_wrench(user)
|
||||
if(!can_be_unfasten || can_be_unfasten == FAILED_UNFASTEN)
|
||||
return can_be_unfasten
|
||||
@@ -409,7 +409,7 @@ Class Procs:
|
||||
/obj/machinery/proc/exchange_parts(mob/user, obj/item/weapon/storage/part_replacer/W)
|
||||
if(!istype(W))
|
||||
return
|
||||
if((flags & NODECONSTRUCT) && !W.works_from_distance)
|
||||
if((flags_1 & NODECONSTRUCT_1) && !W.works_from_distance)
|
||||
return
|
||||
var/shouldplaysound = 0
|
||||
if(component_parts)
|
||||
|
||||
@@ -92,7 +92,7 @@
|
||||
return ..()
|
||||
|
||||
/obj/machinery/aug_manipulator/obj_break(damage_flag)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(stat & BROKEN))
|
||||
stat |= BROKEN
|
||||
update_icon()
|
||||
|
||||
@@ -123,7 +123,7 @@
|
||||
busy = FALSE
|
||||
return 1
|
||||
|
||||
if(HAS_SECONDARY_FLAG(O, HOLOGRAM))
|
||||
if(O.flags_2 & HOLOGRAM_2)
|
||||
return 1
|
||||
|
||||
var/material_amount = materials.get_item_material_amount(O)
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
update_icon()
|
||||
return
|
||||
|
||||
if(user.a_intent != INTENT_HARM && !(W.flags & NOBLUDGEON))
|
||||
if(user.a_intent != INTENT_HARM && !(W.flags_1 & NOBLUDGEON_1))
|
||||
return src.attack_hand(user)
|
||||
else
|
||||
return ..()
|
||||
|
||||
@@ -235,12 +235,12 @@
|
||||
. = ..()
|
||||
|
||||
/obj/machinery/camera/obj_break(damage_flag)
|
||||
if(status && !(flags & NODECONSTRUCT))
|
||||
if(status && !(flags_1 & NODECONSTRUCT_1))
|
||||
triggerCameraAlarm()
|
||||
toggle_cam(null, 0)
|
||||
|
||||
/obj/machinery/camera/deconstruct(disassembled = TRUE)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(disassembled)
|
||||
if(!assembly)
|
||||
assembly = new()
|
||||
|
||||
@@ -140,6 +140,6 @@
|
||||
return 0
|
||||
|
||||
/obj/structure/camera_assembly/deconstruct(disassembled = TRUE)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
new /obj/item/stack/sheet/metal(loc)
|
||||
qdel(src)
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
return
|
||||
|
||||
/obj/machinery/computer/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/weapon/screwdriver) && circuit && !(flags&NODECONSTRUCT))
|
||||
if(istype(I, /obj/item/weapon/screwdriver) && circuit && !(flags_1&NODECONSTRUCT_1))
|
||||
playsound(src.loc, I.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'> You start to disconnect the monitor...</span>")
|
||||
if(do_after(user, 20*I.toolspeed, target = src))
|
||||
@@ -85,7 +85,7 @@
|
||||
playsound(src.loc, 'sound/items/welder.ogg', 100, 1)
|
||||
|
||||
/obj/machinery/computer/obj_break(damage_flag)
|
||||
if(circuit && !(flags & NODECONSTRUCT)) //no circuit, no breaking
|
||||
if(circuit && !(flags_1 & NODECONSTRUCT_1)) //no circuit, no breaking
|
||||
if(!(stat & BROKEN))
|
||||
playsound(loc, 'sound/effects/glassbr3.ogg', 100, 1)
|
||||
stat |= BROKEN
|
||||
@@ -103,7 +103,7 @@
|
||||
|
||||
/obj/machinery/computer/deconstruct(disassembled = TRUE, mob/user)
|
||||
on_deconstruction()
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(circuit) //no circuit, no computer frame
|
||||
var/obj/structure/frame/computer/A = new /obj/structure/frame/computer(src.loc)
|
||||
A.circuit = circuit
|
||||
|
||||
@@ -136,7 +136,7 @@
|
||||
|
||||
|
||||
/obj/structure/frame/computer/deconstruct(disassembled = TRUE)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(state == 4)
|
||||
new /obj/item/weapon/shard(loc)
|
||||
new /obj/item/weapon/shard(loc)
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
diff a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm (rejected hunks)
|
||||
@@ -136,7 +136,7 @@
|
||||
|
||||
|
||||
/obj/structure/frame/computer/deconstruct(disassembled = TRUE)
|
||||
- if(!(flags & NODECONSTRUCT))
|
||||
+ if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(state == 4)
|
||||
new /obj/item/shard(loc)
|
||||
new /obj/item/shard(loc)
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
|
||||
/obj/structure/frame/deconstruct(disassembled = TRUE)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
new /obj/item/stack/sheet/metal(loc, 5)
|
||||
if(circuit)
|
||||
circuit.forceMove(loc)
|
||||
@@ -253,7 +253,7 @@
|
||||
|
||||
|
||||
/obj/structure/frame/machine/deconstruct(disassembled = TRUE)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(state >= 2)
|
||||
new /obj/item/stack/cable_coil(loc , 5)
|
||||
for(var/X in components)
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
var/material = METAL
|
||||
|
||||
/obj/structure/barricade/deconstruct(disassembled = TRUE)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
make_debris()
|
||||
qdel(src)
|
||||
|
||||
|
||||
@@ -1529,7 +1529,7 @@
|
||||
|
||||
|
||||
/obj/machinery/door/airlock/obj_break(damage_flag)
|
||||
if(!(stat & BROKEN) && !(flags & NODECONSTRUCT))
|
||||
if(!(flags_1 & BROKEN) && !(flags_1 & NODECONSTRUCT_1))
|
||||
stat |= BROKEN
|
||||
if(!panel_open)
|
||||
panel_open = TRUE
|
||||
@@ -1547,7 +1547,7 @@
|
||||
|
||||
|
||||
/obj/machinery/door/airlock/deconstruct(disassembled = TRUE, mob/user)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
var/obj/structure/door_assembly/A
|
||||
if(assemblytype)
|
||||
A = new assemblytype(src.loc)
|
||||
|
||||
@@ -498,7 +498,7 @@
|
||||
|
||||
/obj/machinery/door/airlock/clockwork/deconstruct(disassembled = TRUE)
|
||||
playsound(src, 'sound/items/deconstruct.ogg', 50, 1)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
var/turf/T = get_turf(src)
|
||||
if(disassembled)
|
||||
new/obj/item/stack/tile/brass(T, 4)
|
||||
|
||||
@@ -3,30 +3,30 @@
|
||||
desc = "It opens and closes."
|
||||
icon = 'icons/obj/doors/Doorint.dmi'
|
||||
icon_state = "door1"
|
||||
anchored = TRUE
|
||||
anchored = TRUE
|
||||
opacity = 1
|
||||
density = TRUE
|
||||
density = TRUE
|
||||
layer = OPEN_DOOR_LAYER
|
||||
power_channel = ENVIRON
|
||||
max_integrity = 350
|
||||
armor = list(melee = 30, bullet = 30, laser = 20, energy = 20, bomb = 10, bio = 100, rad = 100, fire = 80, acid = 70)
|
||||
CanAtmosPass = ATMOS_PASS_DENSITY
|
||||
flags = PREVENT_CLICK_UNDER
|
||||
flags_1 = PREVENT_CLICK_UNDER_1
|
||||
|
||||
var/secondsElectrified = 0
|
||||
var/shockedby = list()
|
||||
var/visible = TRUE
|
||||
var/operating = FALSE
|
||||
var/glass = FALSE
|
||||
var/welded = FALSE
|
||||
var/visible = TRUE
|
||||
var/operating = FALSE
|
||||
var/glass = FALSE
|
||||
var/welded = FALSE
|
||||
var/normalspeed = 1
|
||||
var/heat_proof = FALSE // For rglass-windowed airlocks and firedoors
|
||||
var/emergency = FALSE // Emergency access override
|
||||
var/sub_door = FALSE // true if it's meant to go under another door.
|
||||
var/heat_proof = FALSE // For rglass-windowed airlocks and firedoors
|
||||
var/emergency = FALSE // Emergency access override
|
||||
var/sub_door = FALSE // true if it's meant to go under another door.
|
||||
var/closingLayer = CLOSED_DOOR_LAYER
|
||||
var/autoclose = FALSE //does it automatically close after some time
|
||||
var/safe = TRUE //whether the door detects things and mobs in its way and reopen or crushes them.
|
||||
var/locked = FALSE //whether the door is bolted or not.
|
||||
var/autoclose = FALSE //does it automatically close after some time
|
||||
var/safe = TRUE //whether the door detects things and mobs in its way and reopen or crushes them.
|
||||
var/locked = FALSE //whether the door is bolted or not.
|
||||
var/assemblytype //the type of door frame to drop during deconstruction
|
||||
var/auto_close //TO BE REMOVED, no longer used, it's just preventing a runtime with a map var edit.
|
||||
var/datum/effect_system/spark_spread/spark_system
|
||||
@@ -50,7 +50,7 @@
|
||||
explosion_block = EXPLOSION_BLOCK_PROC
|
||||
|
||||
/obj/machinery/door/Destroy()
|
||||
density = FALSE
|
||||
density = FALSE
|
||||
air_update_turf(1)
|
||||
update_freelook_sight()
|
||||
GLOB.airlocks -= src
|
||||
@@ -62,7 +62,7 @@
|
||||
//process()
|
||||
//return
|
||||
|
||||
/obj/machinery/door/CollidedWith(atom/movable/AM)
|
||||
/obj/machinery/door/CollidedWith(atom/movable/AM)
|
||||
if(operating || emagged)
|
||||
return
|
||||
if(ismob(AM))
|
||||
@@ -98,7 +98,7 @@
|
||||
..()
|
||||
move_update_air(T)
|
||||
|
||||
/obj/machinery/door/CanPass(atom/movable/mover, turf/target)
|
||||
/obj/machinery/door/CanPass(atom/movable/mover, turf/target)
|
||||
if(istype(mover) && mover.checkpass(PASSGLASS))
|
||||
return !opacity
|
||||
return !density
|
||||
@@ -163,7 +163,7 @@
|
||||
else if(istype(I, /obj/item/weapon/weldingtool))
|
||||
try_to_weld(I, user)
|
||||
return 1
|
||||
else if(!(I.flags & NOBLUDGEON) && user.a_intent != INTENT_HARM)
|
||||
else if(!(I.flags_1 & NOBLUDGEON_1) && user.a_intent != INTENT_HARM)
|
||||
try_to_activate_door(user)
|
||||
return 1
|
||||
return ..()
|
||||
@@ -192,7 +192,7 @@
|
||||
playsound(src.loc, 'sound/items/welder.ogg', 100, 1)
|
||||
|
||||
/obj/machinery/door/emp_act(severity)
|
||||
if(prob(20/severity) && (istype(src, /obj/machinery/door/airlock) || istype(src, /obj/machinery/door/window)) )
|
||||
if(prob(20/severity) && (istype(src, /obj/machinery/door/airlock) || istype(src, /obj/machinery/door/window)) )
|
||||
INVOKE_ASYNC(src, .proc/open)
|
||||
if(prob(40/severity))
|
||||
if(secondsElectrified == 0)
|
||||
@@ -232,16 +232,16 @@
|
||||
return 1
|
||||
if(operating)
|
||||
return
|
||||
operating = TRUE
|
||||
operating = TRUE
|
||||
do_animate("opening")
|
||||
set_opacity(0)
|
||||
sleep(5)
|
||||
density = FALSE
|
||||
density = FALSE
|
||||
sleep(5)
|
||||
layer = OPEN_DOOR_LAYER
|
||||
update_icon()
|
||||
set_opacity(0)
|
||||
operating = FALSE
|
||||
operating = FALSE
|
||||
air_update_turf(1)
|
||||
update_freelook_sight()
|
||||
if(autoclose)
|
||||
@@ -260,17 +260,17 @@
|
||||
if(autoclose)
|
||||
addtimer(CALLBACK(src, .proc/autoclose), 60)
|
||||
return
|
||||
operating = TRUE
|
||||
operating = TRUE
|
||||
|
||||
do_animate("closing")
|
||||
layer = closingLayer
|
||||
sleep(5)
|
||||
density = TRUE
|
||||
density = TRUE
|
||||
sleep(5)
|
||||
update_icon()
|
||||
if(visible && !glass)
|
||||
set_opacity(1)
|
||||
operating = FALSE
|
||||
operating = FALSE
|
||||
air_update_turf(1)
|
||||
update_freelook_sight()
|
||||
if(safe)
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
diff a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm (rejected hunks)
|
||||
@@ -163,7 +163,7 @@
|
||||
else if(istype(I, /obj/item/weldingtool))
|
||||
try_to_weld(I, user)
|
||||
return 1
|
||||
- else if(!(I.flags & NOBLUDGEON) && user.a_intent != INTENT_HARM)
|
||||
+ else if(!(I.flags_1 & NOBLUDGEON_1) && user.a_intent != INTENT_HARM)
|
||||
try_to_activate_door(user)
|
||||
return 1
|
||||
return ..()
|
||||
@@ -185,7 +185,7 @@
|
||||
latetoggle()
|
||||
|
||||
/obj/machinery/door/firedoor/deconstruct(disassembled = TRUE)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
var/obj/structure/firelock_frame/F = new assemblytype(get_turf(src))
|
||||
if(disassembled)
|
||||
F.constructionStep = CONSTRUCTION_PANEL_OPEN
|
||||
@@ -209,7 +209,7 @@
|
||||
|
||||
/obj/machinery/door/firedoor/border_only
|
||||
icon = 'icons/obj/doors/edge_Doorfire.dmi'
|
||||
flags = ON_BORDER
|
||||
flags_1 = ON_BORDER_1
|
||||
CanAtmosPass = ATMOS_PASS_PROC
|
||||
|
||||
/obj/machinery/door/firedoor/border_only/CanPass(atom/movable/mover, turf/target)
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
integrity_failure = 0
|
||||
armor = list(melee = 20, bullet = 50, laser = 50, energy = 50, bomb = 10, bio = 100, rad = 100, fire = 70, acid = 100)
|
||||
visible = FALSE
|
||||
flags = ON_BORDER
|
||||
flags_1 = ON_BORDER_1
|
||||
opacity = 0
|
||||
CanAtmosPass = ATMOS_PASS_PROC
|
||||
var/obj/item/weapon/electronics/airlock/electronics = null
|
||||
@@ -181,7 +181,7 @@
|
||||
|
||||
|
||||
/obj/machinery/door/window/deconstruct(disassembled = TRUE)
|
||||
if(!(flags & NODECONSTRUCT) && !disassembled)
|
||||
if(!(flags_1 & NODECONSTRUCT_1) && !disassembled)
|
||||
for(var/obj/fragment in debris)
|
||||
fragment.forceMove(get_turf(src))
|
||||
transfer_fingerprints_to(fragment)
|
||||
@@ -221,7 +221,7 @@
|
||||
return
|
||||
|
||||
add_fingerprint(user)
|
||||
if(!(flags&NODECONSTRUCT))
|
||||
if(!(flags_1&NODECONSTRUCT_1))
|
||||
if(istype(I, /obj/item/weapon/screwdriver))
|
||||
if(density || operating)
|
||||
to_chat(user, "<span class='warning'>You need to open the door to access the maintenance panel!</span>")
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
diff a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm (rejected hunks)
|
||||
@@ -11,7 +11,7 @@
|
||||
integrity_failure = 0
|
||||
armor = list(melee = 20, bullet = 50, laser = 50, energy = 50, bomb = 10, bio = 100, rad = 100, fire = 70, acid = 100)
|
||||
visible = FALSE
|
||||
- flags = ON_BORDER
|
||||
+ flags_1 = ON_BORDER_1
|
||||
opacity = 0
|
||||
CanAtmosPass = ATMOS_PASS_PROC
|
||||
var/obj/item/electronics/airlock/electronics = null
|
||||
@@ -221,7 +221,7 @@
|
||||
return
|
||||
|
||||
add_fingerprint(user)
|
||||
- if(!(flags&NODECONSTRUCT))
|
||||
+ if(!(flags_1&NODECONSTRUCT_1))
|
||||
if(istype(I, /obj/item/screwdriver))
|
||||
if(density || operating)
|
||||
to_chat(user, "<span class='warning'>You need to open the door to access the maintenance panel!</span>")
|
||||
@@ -292,7 +292,7 @@
|
||||
return ..()
|
||||
|
||||
/obj/machinery/droneDispenser/obj_break(damage_flag)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(stat & BROKEN))
|
||||
if(break_message)
|
||||
audible_message("<span class='warning'>[src] \
|
||||
@@ -303,7 +303,7 @@
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/droneDispenser/deconstruct(disassembled = TRUE)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
new /obj/item/stack/sheet/metal(loc, 5)
|
||||
qdel(src)
|
||||
|
||||
|
||||
@@ -239,12 +239,12 @@
|
||||
alarm()
|
||||
|
||||
/obj/machinery/firealarm/obj_break(damage_flag)
|
||||
if(!(stat & BROKEN) && !(flags & NODECONSTRUCT) && buildstage != 0) //can't break the electronics if there isn't any inside.
|
||||
if(!(stat & BROKEN) && !(flags_1 & NODECONSTRUCT_1) && buildstage != 0) //can't break the electronics if there isn't any inside.
|
||||
stat |= BROKEN
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/firealarm/deconstruct(disassembled = TRUE)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
new /obj/item/stack/sheet/metal(loc, 1)
|
||||
if(!(stat & BROKEN))
|
||||
var/obj/item/I = new /obj/item/weapon/electronics/firealarm(loc)
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
diff a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm (rejected hunks)
|
||||
@@ -239,12 +239,12 @@
|
||||
alarm()
|
||||
|
||||
/obj/machinery/firealarm/obj_break(damage_flag)
|
||||
- if(!(stat & BROKEN) && !(flags & NODECONSTRUCT) && buildstage != 0) //can't break the electronics if there isn't any inside.
|
||||
+ if(!(stat & BROKEN) && !(flags_1 & NODECONSTRUCT_1) && buildstage != 0) //can't break the electronics if there isn't any inside.
|
||||
stat |= BROKEN
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/firealarm/deconstruct(disassembled = TRUE)
|
||||
- if(!(flags & NODECONSTRUCT))
|
||||
+ if(!(flags_1 & NODECONSTRUCT_1))
|
||||
new /obj/item/stack/sheet/metal(loc, 1)
|
||||
if(!(stat & BROKEN))
|
||||
var/obj/item/I = new /obj/item/electronics/firealarm(loc)
|
||||
@@ -130,7 +130,7 @@
|
||||
..()
|
||||
|
||||
/obj/machinery/flasher/obj_break(damage_flag)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(stat & BROKEN))
|
||||
stat |= BROKEN
|
||||
if(bulb)
|
||||
@@ -138,7 +138,7 @@
|
||||
power_change()
|
||||
|
||||
/obj/machinery/flasher/deconstruct(disassembled = TRUE)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(bulb)
|
||||
bulb.forceMove(loc)
|
||||
bulb = null
|
||||
|
||||
@@ -33,7 +33,7 @@ Possible to do for anyone motivated enough:
|
||||
desc = "It's a floor-mounted device for projecting holographic images."
|
||||
icon_state = "holopad0"
|
||||
layer = LOW_OBJ_LAYER
|
||||
flags = HEAR
|
||||
flags_1 = HEAR_1
|
||||
anchored = TRUE
|
||||
use_power = IDLE_POWER_USE
|
||||
idle_power_usage = 5
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
return ..()
|
||||
|
||||
/obj/machinery/iv_drip/deconstruct(disassembled = TRUE)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
new /obj/item/stack/sheet/metal(loc)
|
||||
qdel(src)
|
||||
|
||||
|
||||
@@ -196,7 +196,7 @@
|
||||
icon_state = "briefcase"
|
||||
lefthand_file = 'icons/mob/inhands/equipment/briefcase_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/equipment/briefcase_righthand.dmi'
|
||||
flags = CONDUCT
|
||||
flags_1 = CONDUCT_1
|
||||
force = 8
|
||||
hitsound = "swing_hit"
|
||||
throw_speed = 2
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
icon = 'icons/obj/machines/limbgrower.dmi'
|
||||
icon_state = "limbgrower_idleoff"
|
||||
density = TRUE
|
||||
container_type = OPENCONTAINER
|
||||
container_type = OPENCONTAINER_1
|
||||
anchored = TRUE
|
||||
use_power = IDLE_POWER_USE
|
||||
idle_power_usage = 10
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
diff a/code/game/machinery/limbgrower.dm b/code/game/machinery/limbgrower.dm (rejected hunks)
|
||||
@@ -10,7 +10,7 @@
|
||||
icon = 'icons/obj/machines/limbgrower.dmi'
|
||||
icon_state = "limbgrower_idleoff"
|
||||
density = TRUE
|
||||
- container_type = OPENCONTAINER
|
||||
+ container_type = OPENCONTAINER_1
|
||||
anchored = TRUE
|
||||
use_power = IDLE_POWER_USE
|
||||
idle_power_usage = 10
|
||||
@@ -173,7 +173,7 @@
|
||||
center = locate(x+center_x, y+center_y, z)
|
||||
if(center)
|
||||
for(var/obj/M in orange(magnetic_field, center))
|
||||
if(!M.anchored && (M.flags & CONDUCT))
|
||||
if(!M.anchored && (M.flags_1 & CONDUCT_1))
|
||||
step_towards(M, center)
|
||||
|
||||
for(var/mob/living/silicon/S in orange(magnetic_field, center))
|
||||
|
||||
@@ -758,14 +758,14 @@ GLOBAL_LIST_EMPTY(allCasters)
|
||||
|
||||
|
||||
/obj/machinery/newscaster/deconstruct(disassembled = TRUE)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
new /obj/item/stack/sheet/metal(loc, 2)
|
||||
new /obj/item/weapon/shard(loc)
|
||||
new /obj/item/weapon/shard(loc)
|
||||
qdel(src)
|
||||
|
||||
/obj/machinery/newscaster/obj_break()
|
||||
if(!(stat & BROKEN) && !(flags & NODECONSTRUCT))
|
||||
if(!(stat & BROKEN) && !(flags_1 & NODECONSTRUCT_1))
|
||||
stat |= BROKEN
|
||||
playsound(loc, 'sound/effects/glassbr3.ogg', 100, 1)
|
||||
update_icon()
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
diff a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm (rejected hunks)
|
||||
@@ -758,14 +758,14 @@ GLOBAL_LIST_EMPTY(allCasters)
|
||||
|
||||
|
||||
/obj/machinery/newscaster/deconstruct(disassembled = TRUE)
|
||||
- if(!(flags & NODECONSTRUCT))
|
||||
+ if(!(flags_1 & NODECONSTRUCT_1))
|
||||
new /obj/item/stack/sheet/metal(loc, 2)
|
||||
new /obj/item/shard(loc)
|
||||
new /obj/item/shard(loc)
|
||||
qdel(src)
|
||||
|
||||
/obj/machinery/newscaster/obj_break()
|
||||
- if(!(stat & BROKEN) && !(flags & NODECONSTRUCT))
|
||||
+ if(!(stat & BROKEN) && !(flags_1 & NODECONSTRUCT_1))
|
||||
stat |= BROKEN
|
||||
playsound(loc, 'sound/effects/glassbr3.ogg', 100, 1)
|
||||
update_icon()
|
||||
@@ -321,7 +321,7 @@
|
||||
qdel(src)
|
||||
|
||||
/obj/machinery/porta_turret/obj_break(damage_flag)
|
||||
if(!(flags & NODECONSTRUCT) && !(stat & BROKEN))
|
||||
if(!(flags_1 & NODECONSTRUCT_1) && !(stat & BROKEN))
|
||||
stat |= BROKEN //enables the BROKEN bit
|
||||
update_icon()
|
||||
invisibility = 0
|
||||
|
||||
@@ -6,9 +6,9 @@
|
||||
icon = 'icons/obj/recycling.dmi'
|
||||
icon_state = "grinder-o0"
|
||||
layer = ABOVE_ALL_MOB_LAYER // Overhead
|
||||
anchored = TRUE
|
||||
density = TRUE
|
||||
circuit = /obj/item/weapon/circuitboard/machine/recycler
|
||||
anchored = TRUE
|
||||
density = TRUE
|
||||
circuit = /obj/item/weapon/circuitboard/machine/recycler
|
||||
var/safety_mode = FALSE // Temporarily stops machine if it detects a mob
|
||||
var/icon_name = "grinder-o"
|
||||
var/blood = 0
|
||||
@@ -19,10 +19,10 @@
|
||||
var/eat_victim_items = TRUE
|
||||
var/item_recycle_sound = 'sound/items/welder.ogg'
|
||||
|
||||
/obj/machinery/recycler/Initialize()
|
||||
/obj/machinery/recycler/Initialize()
|
||||
materials = new /datum/material_container(src, list(MAT_METAL, MAT_GLASS, MAT_PLASMA, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM))
|
||||
update_icon()
|
||||
return ..()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/recycler/RefreshParts()
|
||||
var/amt_made = 0
|
||||
@@ -64,14 +64,14 @@
|
||||
return ..()
|
||||
|
||||
/obj/machinery/recycler/emag_act(mob/user)
|
||||
if(emagged)
|
||||
return
|
||||
emagged = TRUE
|
||||
if(safety_mode)
|
||||
safety_mode = FALSE
|
||||
update_icon()
|
||||
playsound(src, "sparks", 75, 1, -1)
|
||||
to_chat(user, "<span class='notice'>You use the cryptographic sequencer on the [src].</span>")
|
||||
if(emagged)
|
||||
return
|
||||
emagged = TRUE
|
||||
if(safety_mode)
|
||||
safety_mode = FALSE
|
||||
update_icon()
|
||||
playsound(src, "sparks", 75, 1, -1)
|
||||
to_chat(user, "<span class='notice'>You use the cryptographic sequencer on the [src].</span>")
|
||||
|
||||
/obj/machinery/recycler/update_icon()
|
||||
..()
|
||||
@@ -80,7 +80,7 @@
|
||||
is_powered = FALSE
|
||||
icon_state = icon_name + "[is_powered]" + "[(blood ? "bld" : "")]" // add the blood tag at the end
|
||||
|
||||
/obj/machinery/recycler/CollidedWith(atom/movable/AM)
|
||||
/obj/machinery/recycler/CollidedWith(atom/movable/AM)
|
||||
|
||||
if(stat & (BROKEN|NOPOWER))
|
||||
return
|
||||
@@ -187,10 +187,10 @@
|
||||
name = "dangerous old crusher"
|
||||
emagged = TRUE
|
||||
crush_damage = 120
|
||||
flags = NODECONSTRUCT
|
||||
flags_1 = NODECONSTRUCT_1
|
||||
|
||||
/obj/item/weapon/paper/guides/recycler
|
||||
/obj/item/weapon/paper/guides/recycler
|
||||
name = "paper - 'garbage duty instructions'"
|
||||
info = "<h2>New Assignment</h2> You have been assigned to collect garbage from trash bins, located around the station. The crewmembers will put their trash into it and you will collect the said trash.<br><br>There is a recycling machine near your closet, inside maintenance; use it to recycle the trash for a small chance to get useful minerals. Then deliver these minerals to cargo or engineering. You are our last hope for a clean station, do not screw this up!"
|
||||
|
||||
#undef SAFETY_COOLDOWN
|
||||
#undef SAFETY_COOLDOWN
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
diff a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm (rejected hunks)
|
||||
@@ -187,7 +187,7 @@
|
||||
name = "dangerous old crusher"
|
||||
emagged = TRUE
|
||||
crush_damage = 120
|
||||
- flags = NODECONSTRUCT
|
||||
+ flags_1 = NODECONSTRUCT_1
|
||||
|
||||
/obj/item/paper/guides/recycler
|
||||
name = "paper - 'garbage duty instructions'"
|
||||
@@ -111,7 +111,7 @@
|
||||
|
||||
|
||||
/obj/machinery/shieldgen/deconstruct(disassembled = TRUE)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!(stat && BROKEN))
|
||||
stat |= BROKEN
|
||||
locked = pick(0,1)
|
||||
@@ -210,7 +210,7 @@
|
||||
anchored = FALSE
|
||||
density = TRUE
|
||||
req_access = list(ACCESS_TELEPORTER)
|
||||
flags = CONDUCT
|
||||
flags_1 = CONDUCT_1
|
||||
use_power = NO_POWER_USE
|
||||
max_integrity = 300
|
||||
var/active = FALSE
|
||||
|
||||
@@ -161,7 +161,7 @@
|
||||
occupant = null
|
||||
|
||||
/obj/machinery/suit_storage_unit/deconstruct(disassembled = TRUE)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
open_machine()
|
||||
dump_contents()
|
||||
new /obj/item/stack/sheet/metal (loc, 2)
|
||||
|
||||
@@ -106,14 +106,14 @@
|
||||
|
||||
/obj/machinery/vending/deconstruct(disassembled = TRUE)
|
||||
if(!refill_canister) //the non constructable vendors drop metal instead of a machine frame.
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
new /obj/item/stack/sheet/metal(loc, 3)
|
||||
qdel(src)
|
||||
else
|
||||
..()
|
||||
|
||||
/obj/machinery/vending/obj_break(damage_flag)
|
||||
if(!(stat & BROKEN) && !(flags & NODECONSTRUCT))
|
||||
if(!(stat & BROKEN) && !(flags_1 & NODECONSTRUCT_1))
|
||||
var/dump_amount = 0
|
||||
for(var/datum/data/vending_product/R in product_records)
|
||||
if(R.amount <= 0) //Try to use a record that actually has something to dump.
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
layer = BELOW_MOB_LAYER//icon draw layer
|
||||
infra_luminosity = 15 //byond implementation is bugged.
|
||||
force = 5
|
||||
flags = HEAR
|
||||
flags_1 = HEAR_1
|
||||
var/can_move = 1
|
||||
var/mob/living/carbon/occupant = null
|
||||
var/step_in = 10 //make a step in step_in/10 sec.
|
||||
@@ -112,7 +112,7 @@
|
||||
var/nextsmash = 0
|
||||
var/smashcooldown = 3 //deciseconds
|
||||
|
||||
var/occupant_sight_flags = 0 //sight flags to give to the occupant (e.g. mech mining scanner gives meson-like vision)
|
||||
var/occupant_sight_flags = 0 //sight flags_1 to give to the occupant (e.g. mech mining scanner gives meson-like vision)
|
||||
|
||||
hud_possible = list (DIAG_STAT_HUD, DIAG_BATT_HUD, DIAG_MECH_HUD, DIAG_TRACK_HUD)
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
icon = 'icons/mecha/mech_construct.dmi'
|
||||
icon_state = "blank"
|
||||
w_class = WEIGHT_CLASS_GIGANTIC
|
||||
flags = CONDUCT
|
||||
flags_1 = CONDUCT_1
|
||||
origin_tech = "programming=2;materials=2;engineering=2"
|
||||
|
||||
/obj/item/mecha_parts/chassis
|
||||
@@ -313,7 +313,7 @@
|
||||
item_state = "electronic"
|
||||
lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
|
||||
flags = CONDUCT
|
||||
flags_1 = CONDUCT_1
|
||||
force = 5
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
throwforce = 0
|
||||
|
||||
@@ -130,7 +130,7 @@
|
||||
new /datum/hallucination/delusion(victim, TRUE, "demon",duration,0)
|
||||
|
||||
var/obj/item/weapon/twohanded/required/chainsaw/doomslayer/chainsaw = new(victim.loc)
|
||||
chainsaw.flags |= NODROP
|
||||
chainsaw.flags_1 |= NODROP_1
|
||||
victim.drop_all_held_items()
|
||||
victim.put_in_hands(chainsaw)
|
||||
chainsaw.attack_self(victim)
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
diff a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm (rejected hunks)
|
||||
@@ -130,7 +130,7 @@
|
||||
new /datum/hallucination/delusion(victim, TRUE, "demon",duration,0)
|
||||
|
||||
var/obj/item/twohanded/required/chainsaw/doomslayer/chainsaw = new(victim.loc)
|
||||
- chainsaw.flags |= NODROP
|
||||
+ chainsaw.flags_1 |= NODROP_1
|
||||
victim.drop_all_held_items()
|
||||
victim.put_in_hands(chainsaw)
|
||||
chainsaw.attack_self(victim)
|
||||
@@ -86,8 +86,8 @@
|
||||
transform = matrix()*2
|
||||
var/matrix/M = transform
|
||||
M.Turn(90)
|
||||
animate(src, alpha = 20, time = duration, easing = BOUNCE_EASING, flags = ANIMATION_PARALLEL)
|
||||
animate(src, transform = M, time = duration, flags = ANIMATION_PARALLEL)
|
||||
animate(src, alpha = 20, time = duration, easing = BOUNCE_EASING, flags_1 = ANIMATION_PARALLEL)
|
||||
animate(src, transform = M, time = duration, flags_1 = ANIMATION_PARALLEL)
|
||||
|
||||
/obj/effect/temp_visual/ratvar/ocular_warden
|
||||
name = "warden's gaze"
|
||||
|
||||
@@ -65,8 +65,8 @@
|
||||
var/matrix/M = transform
|
||||
M.Turn(turnedness)
|
||||
transform = M
|
||||
animate(src, alpha = 255, time = duration, easing = BOUNCE_EASING, flags = ANIMATION_PARALLEL)
|
||||
animate(src, transform = oldtransform, time = duration, flags = ANIMATION_PARALLEL)
|
||||
animate(src, alpha = 255, time = duration, easing = BOUNCE_EASING, flags_1 = ANIMATION_PARALLEL)
|
||||
animate(src, transform = oldtransform, time = duration, flags_1 = ANIMATION_PARALLEL)
|
||||
|
||||
/obj/effect/temp_visual/cult/rune_spawn/rune1
|
||||
icon_state = "rune1words"
|
||||
|
||||
@@ -377,7 +377,7 @@
|
||||
M = size_matrix*0.1
|
||||
else
|
||||
M = size_matrix*2
|
||||
animate(src, alpha = 20, transform = M, time = duration, flags = ANIMATION_PARALLEL)
|
||||
animate(src, alpha = 20, transform = M, time = duration, flags_1 = ANIMATION_PARALLEL)
|
||||
|
||||
/obj/effect/temp_visual/bleed/explode
|
||||
icon_state = "bleed10"
|
||||
|
||||
@@ -35,10 +35,10 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
|
||||
pressure_resistance = 4
|
||||
var/obj/item/master = null
|
||||
|
||||
var/heat_protection = 0 //flags which determine which body parts are protected from heat. Use the HEAD, CHEST, GROIN, etc. flags. See setup.dm
|
||||
var/cold_protection = 0 //flags which determine which body parts are protected from cold. Use the HEAD, CHEST, GROIN, etc. flags. See setup.dm
|
||||
var/max_heat_protection_temperature //Set this variable to determine up to which temperature (IN KELVIN) the item protects against heat damage. Keep at null to disable protection. Only protects areas set by heat_protection flags
|
||||
var/min_cold_protection_temperature //Set this variable to determine down to which temperature (IN KELVIN) the item protects against cold damage. 0 is NOT an acceptable number due to if(varname) tests!! Keep at null to disable protection. Only protects areas set by cold_protection flags
|
||||
var/heat_protection = 0 //flags_1 which determine which body parts are protected from heat. Use the HEAD, CHEST, GROIN, etc. flags_1. See setup.dm
|
||||
var/cold_protection = 0 //flags_1 which determine which body parts are protected from cold. Use the HEAD, CHEST, GROIN, etc. flags_1. See setup.dm
|
||||
var/max_heat_protection_temperature //Set this variable to determine up to which temperature (IN KELVIN) the item protects against heat damage. Keep at null to disable protection. Only protects areas set by heat_protection flags_1
|
||||
var/min_cold_protection_temperature //Set this variable to determine down to which temperature (IN KELVIN) the item protects against cold damage. 0 is NOT an acceptable number due to if(varname) tests!! Keep at null to disable protection. Only protects areas set by cold_protection flags_1
|
||||
|
||||
var/list/actions //list of /datum/action's that this item has.
|
||||
var/list/actions_types //list of paths of action datums to give to the item on New().
|
||||
@@ -48,7 +48,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
|
||||
|
||||
var/item_color = null //this needs deprecating, soonish
|
||||
|
||||
var/body_parts_covered = 0 //see setup.dm for appropriate bit flags
|
||||
var/body_parts_covered = 0 //see setup.dm for appropriate bit flags_1
|
||||
//var/heat_transfer_coefficient = 1 //0 prevents all transfers, 1 is invisible
|
||||
var/gas_transfer_coefficient = 1 // for leaking gas from turf to mask and vice-versa (for masks right now, but at some point, i'd like to include space helmets)
|
||||
var/permeability_coefficient = 1 // for chemicals/diseases
|
||||
@@ -86,7 +86,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
|
||||
var/embedded_unsafe_removal_pain_multiplier = EMBEDDED_UNSAFE_REMOVAL_PAIN_MULTIPLIER //The coefficient of multiplication for the damage removing this without surgery causes (this*w_class)
|
||||
var/embedded_unsafe_removal_time = EMBEDDED_UNSAFE_REMOVAL_TIME //A time in ticks, multiplied by the w_class.
|
||||
|
||||
var/flags_cover = 0 //for flags such as GLASSESCOVERSEYES
|
||||
var/flags_cover = 0 //for flags_1 such as GLASSESCOVERSEYES
|
||||
var/heat = 0
|
||||
var/sharpness = IS_BLUNT
|
||||
var/toolspeed = 1
|
||||
@@ -127,7 +127,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
|
||||
force_string_override = TRUE
|
||||
|
||||
/obj/item/Destroy()
|
||||
flags &= ~DROPDEL //prevent reqdels
|
||||
flags_1 &= ~DROPDEL_1 //prevent reqdels
|
||||
if(ismob(loc))
|
||||
var/mob/m = loc
|
||||
m.temporarilyRemoveItemFromInventory(src, TRUE)
|
||||
@@ -378,7 +378,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
|
||||
for(var/X in actions)
|
||||
var/datum/action/A = X
|
||||
A.Remove(user)
|
||||
if(DROPDEL & flags)
|
||||
if(DROPDEL_1 & flags_1)
|
||||
qdel(src)
|
||||
in_inventory = FALSE
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
diff a/code/game/objects/items.dm b/code/game/objects/items.dm (rejected hunks)
|
||||
@@ -135,7 +135,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
|
||||
hitsound = "swing_hit"
|
||||
|
||||
/obj/item/Destroy()
|
||||
- flags &= ~DROPDEL //prevent reqdels
|
||||
+ flags_1 &= ~DROPDEL_1 //prevent reqdels
|
||||
if(ismob(loc))
|
||||
var/mob/m = loc
|
||||
m.temporarilyRemoveItemFromInventory(src, TRUE)
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/item/wallframe
|
||||
icon = 'icons/obj/wallframe.dmi'
|
||||
materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT*2)
|
||||
flags = CONDUCT
|
||||
flags_1 = CONDUCT_1
|
||||
origin_tech = "materials=1;engineering=1"
|
||||
item_state = "syringe_kit"
|
||||
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
|
||||
@@ -119,7 +119,7 @@
|
||||
item_state = "electronic"
|
||||
lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
|
||||
flags = CONDUCT
|
||||
flags_1 = CONDUCT_1
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
origin_tech = "engineering=2;programming=1"
|
||||
materials = list(MAT_METAL=50, MAT_GLASS=50)
|
||||
@@ -48,7 +48,7 @@
|
||||
change_appearance(I, user)
|
||||
return
|
||||
// Why yes, this does closely resemble mob and object attack code.
|
||||
if(I.flags & NOBLUDGEON)
|
||||
if(I.flags_1 & NOBLUDGEON_1)
|
||||
return
|
||||
if(!I.force)
|
||||
playsound(loc, 'sound/weapons/tap.ogg', get_clamped_volume(), 1, -1)
|
||||
|
||||
@@ -12,7 +12,7 @@ GLOBAL_LIST_EMPTY(PDAs)
|
||||
item_state = "electronic"
|
||||
lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
|
||||
flags = NOBLUDGEON
|
||||
flags_1 = NOBLUDGEON_1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
slot_flags = SLOT_ID | SLOT_BELT
|
||||
origin_tech = "programming=2"
|
||||
|
||||
@@ -27,12 +27,12 @@
|
||||
|
||||
var/obj/item/radio/integrated/radio = null
|
||||
|
||||
var/access = 0 //Bit flags for cartridge access
|
||||
var/access = 0 //Bit flags_1 for cartridge access
|
||||
|
||||
// var/access_flora = 0
|
||||
var/remote_door_id = ""
|
||||
|
||||
var/bot_access_flags = 0 //Bit flags. Selection: SEC_BOT | MULE_BOT | FLOOR_BOT | CLEAN_BOT | MED_BOT
|
||||
var/bot_access_flags = 0 //Bit flags_1. Selection: SEC_BOT | MULE_BOT | FLOOR_BOT | CLEAN_BOT | MED_BOT
|
||||
var/spam_enabled = 0 //Enables "Send to All" Option
|
||||
|
||||
var/obj/item/device/pda/host_pda = null
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
slot_flags = SLOT_BELT
|
||||
flags = NOBLUDGEON
|
||||
flags_1 = NOBLUDGEON_1
|
||||
var/flush = FALSE
|
||||
var/mob/living/silicon/ai/AI
|
||||
origin_tech = "programming=3;materials=3"
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
throw_speed = 4
|
||||
throw_range = 20
|
||||
origin_tech = "syndicate=1;engineering=3"
|
||||
flags = NOBLUDGEON
|
||||
flags_1 = NOBLUDGEON_1
|
||||
|
||||
var/obj/machinery/camera/current = null
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/item/device/chameleon
|
||||
name = "chameleon-projector"
|
||||
icon_state = "shield0"
|
||||
flags = CONDUCT | NOBLUDGEON
|
||||
flags_1 = CONDUCT_1 | NOBLUDGEON_1
|
||||
slot_flags = SLOT_BELT
|
||||
item_state = "electronic"
|
||||
lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
throw_range = 4
|
||||
throw_speed = 1
|
||||
flags = NOBLUDGEON
|
||||
flags_1 = NOBLUDGEON_1
|
||||
force = 3
|
||||
attack_verb = list("blown up", "exploded", "detonated")
|
||||
materials = list(MAT_METAL=50, MAT_GLASS=30)
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
flags = CONDUCT
|
||||
flags_1 = CONDUCT_1
|
||||
slot_flags = SLOT_BELT
|
||||
materials = list(MAT_METAL=50, MAT_GLASS=20)
|
||||
actions_types = list(/datum/action/item_action/toggle_light)
|
||||
@@ -162,7 +162,7 @@
|
||||
desc = "A pen-sized light, used by medical staff. It can also be used to create a hologram to alert people of incoming medical assistance."
|
||||
icon_state = "penlight"
|
||||
item_state = ""
|
||||
flags = CONDUCT
|
||||
flags_1 = CONDUCT_1
|
||||
brightness_on = 2
|
||||
var/holo_cooldown = 0
|
||||
|
||||
@@ -210,7 +210,7 @@
|
||||
item_state = "lamp"
|
||||
brightness_on = 5
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
flags = CONDUCT
|
||||
flags_1 = CONDUCT_1
|
||||
materials = list()
|
||||
on = TRUE
|
||||
|
||||
@@ -524,5 +524,5 @@
|
||||
desc = "This shouldn't exist outside of someone's head, how are you seeing this?"
|
||||
brightness_on = 15
|
||||
flashlight_power = 1
|
||||
flags = CONDUCT | DROPDEL
|
||||
flags_1 = CONDUCT_1 | DROPDEL_1
|
||||
actions_types = list()
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
icon_state = "signmaker_engi"
|
||||
slot_flags = SLOT_BELT
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
flags = NOBLUDGEON
|
||||
flags_1 = NOBLUDGEON_1
|
||||
item_state = "electronic"
|
||||
lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
|
||||
|
||||
@@ -158,11 +158,11 @@ GLOBAL_LIST_EMPTY(GPS_list)
|
||||
icon_state = "gps-b"
|
||||
gpstag = "BORG0"
|
||||
desc = "A mining cyborg internal positioning system. Used as a recovery beacon for damaged cyborg assets, or a collaboration tool for mining teams."
|
||||
flags = NODROP
|
||||
flags_1 = NODROP_1
|
||||
|
||||
/obj/item/device/gps/internal
|
||||
icon_state = null
|
||||
flags = ABSTRACT
|
||||
flags_1 = ABSTRACT_1
|
||||
gpstag = "Eerie Signal"
|
||||
desc = "Report to a coder immediately."
|
||||
invisibility = INVISIBILITY_MAXIMUM
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
icon_state = "pointer"
|
||||
item_state = "pen"
|
||||
var/pointer_icon_state
|
||||
flags = CONDUCT | NOBLUDGEON
|
||||
flags_1 = CONDUCT_1 | NOBLUDGEON_1
|
||||
slot_flags = SLOT_BELT
|
||||
materials = list(MAT_METAL=500, MAT_GLASS=500)
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
|
||||
|
||||
flags = CONDUCT
|
||||
flags_1 = CONDUCT_1
|
||||
slot_flags = SLOT_BELT
|
||||
origin_tech = "magnets=3;engineering=4"
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
icon = 'icons/obj/bureaucracy.dmi'
|
||||
icon_state = "labeler1"
|
||||
item_state = "flight"
|
||||
flags = NOBLUDGEON
|
||||
flags_1 = NOBLUDGEON_1
|
||||
var/list/modes = list(
|
||||
"grey" = rgb(255,255,255),
|
||||
"red" = rgb(255,0,0),
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user