mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 10:21:11 +00:00
Mecca Fixes, pt1. WIP.
```yaml changes: - tweak: "Device Analyzers can no longer scan some items. Other items can only be scanned with the traitor variant of the scanner." - tweak: "Flatpacks take 10-20 seconds to open." - bugfix: "Flatpacks hit multiple times by a crowbar will only open once." ```
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
/datum/mind/var/list/job_objectives=list()
|
/datum/mind/var/list/job_objectives=list()
|
||||||
|
|
||||||
#define FINDJOBTASK_DEFAULT_NEW 1 // Make a new task of this type if one can't be found.
|
#define FINDJOBTASK_DEFAULT_NEW 1 // Make a new task of this type if one can't be found.
|
||||||
|
|
||||||
/datum/mind/proc/findJobTask(var/typepath,var/options=0)
|
/datum/mind/proc/findJobTask(var/typepath,var/options=0)
|
||||||
var/datum/job_objective/task = locate(typepath) in src.job_objectives
|
var/datum/job_objective/task = locate(typepath) in src.job_objectives
|
||||||
if(!istype(task,typepath))
|
if(!istype(task,typepath))
|
||||||
|
|||||||
@@ -24,6 +24,9 @@
|
|||||||
|
|
||||||
var/list/mob/_using // All mobs dicking with us.
|
var/list/mob/_using // All mobs dicking with us.
|
||||||
|
|
||||||
|
// Shit for mechanics. (MECH_*)
|
||||||
|
var/mech_flags=0
|
||||||
|
|
||||||
/obj/Destroy()
|
/obj/Destroy()
|
||||||
if(_using)
|
if(_using)
|
||||||
for(var/mob/mob in _using)
|
for(var/mob/mob in _using)
|
||||||
@@ -267,4 +270,4 @@ a {
|
|||||||
return
|
return
|
||||||
|
|
||||||
/obj/proc/container_resist()
|
/obj/proc/container_resist()
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -104,6 +104,7 @@ var/global/loopModeNames=list(
|
|||||||
var/state_base = "jukebox2"
|
var/state_base = "jukebox2"
|
||||||
|
|
||||||
machine_flags = WRENCHMOVE | FIXED2WORK | EMAGGABLE
|
machine_flags = WRENCHMOVE | FIXED2WORK | EMAGGABLE
|
||||||
|
mech_flags = MECH_SCAN_FAIL
|
||||||
emag_cost = 0 // because fun/unlimited uses.
|
emag_cost = 0 // because fun/unlimited uses.
|
||||||
|
|
||||||
/obj/machinery/media/jukebox/New(loc)
|
/obj/machinery/media/jukebox/New(loc)
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
force = 5.0
|
force = 5.0
|
||||||
origin_tech = "combat=1"
|
origin_tech = "combat=1"
|
||||||
attack_verb = list("struck", "hit", "bashed")
|
attack_verb = list("struck", "hit", "bashed")
|
||||||
|
mech_flags = MECH_SCAN_ILLEGAL
|
||||||
|
|
||||||
var/fire_sound = 'sound/weapons/Gunshot.ogg'
|
var/fire_sound = 'sound/weapons/Gunshot.ogg'
|
||||||
var/obj/item/projectile/in_chamber = null
|
var/obj/item/projectile/in_chamber = null
|
||||||
|
|||||||
@@ -62,6 +62,14 @@
|
|||||||
if(!istype(O))
|
if(!istype(O))
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
// Objects that cannot be scanned
|
||||||
|
if((O.mech_flags & MECH_SCAN_FAIL)==MECH_SCAN_FAIL)
|
||||||
|
return 0
|
||||||
|
|
||||||
|
// Objects that can only be scanned with the syndi-scanner.
|
||||||
|
if(syndi_filter && (O.mech_flags & MECH_SCAN_ILLEGAL)==MECH_SCAN_ILLEGAL)
|
||||||
|
return 0
|
||||||
|
|
||||||
var/list/techlist
|
var/list/techlist
|
||||||
if(istype(O, /obj/machinery))
|
if(istype(O, /obj/machinery))
|
||||||
var/obj/machinery/M = O
|
var/obj/machinery/M = O
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
density = 1
|
density = 1
|
||||||
anchored = 0
|
anchored = 0
|
||||||
var/obj/machinery/machine = null
|
var/obj/machinery/machine = null
|
||||||
|
var/opening=0
|
||||||
|
|
||||||
/obj/structure/closet/crate/flatpack/New()
|
/obj/structure/closet/crate/flatpack/New()
|
||||||
..()
|
..()
|
||||||
@@ -13,8 +14,12 @@
|
|||||||
|
|
||||||
/obj/structure/closet/crate/flatpack/attackby(var/atom/A, mob/user)
|
/obj/structure/closet/crate/flatpack/attackby(var/atom/A, mob/user)
|
||||||
if(istype(A, /obj/item/weapon/crowbar))
|
if(istype(A, /obj/item/weapon/crowbar))
|
||||||
|
if(opening)
|
||||||
|
user << "<span class='warning'>This is already being opened.</span>"
|
||||||
|
return 1
|
||||||
user <<"<span class='notice'>You begin to open the flatpack...</span>"
|
user <<"<span class='notice'>You begin to open the flatpack...</span>"
|
||||||
if(do_after(user, 40))
|
opening=1
|
||||||
|
if(do_after(user, rand(10,20) SECONDS))
|
||||||
if(machine)
|
if(machine)
|
||||||
user <<"<span class='notice'>\icon [src]You successfully unpack \the [src]!</span>"
|
user <<"<span class='notice'>\icon [src]You successfully unpack \the [src]!</span>"
|
||||||
machine.loc = get_turf(src)
|
machine.loc = get_turf(src)
|
||||||
@@ -24,7 +29,9 @@
|
|||||||
for(var/atom/movable/AM in src)
|
for(var/atom/movable/AM in src)
|
||||||
AM.loc = get_turf(src)
|
AM.loc = get_turf(src)
|
||||||
qdel(src)
|
qdel(src)
|
||||||
|
opening=0
|
||||||
return 1
|
return 1
|
||||||
|
opening=0
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/structure/closet/crate/flatpack/attack_hand()
|
/obj/structure/closet/crate/flatpack/attack_hand()
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
|
|
||||||
var/damage = 0
|
var/damage = 0
|
||||||
var/damage_archived = 0
|
var/damage_archived = 0
|
||||||
var/safe_alert = "Crystaline hyperstructure returning to safe operating levels."
|
var/safe_alert = "Crystalline hyperstructure returning to safe operating levels."
|
||||||
var/warning_point = 100
|
var/warning_point = 100
|
||||||
var/warning_alert = "Danger! Crystal hyperstructure instability!"
|
var/warning_alert = "Danger! Crystal hyperstructure instability!"
|
||||||
var/emergency_point = 700
|
var/emergency_point = 700
|
||||||
|
|||||||
@@ -925,3 +925,7 @@ var/list/RESTRICTED_CAMERA_NETWORKS = list( //Those networks can only be accesse
|
|||||||
#define ACCESS_EMAG 32 //does it lose all its access when smacked by an emag? incompatible with CONSOLECONTROl, for obvious reasons
|
#define ACCESS_EMAG 32 //does it lose all its access when smacked by an emag? incompatible with CONSOLECONTROl, for obvious reasons
|
||||||
#define LOCKBOXES 64 //does it spawn a lockbox around a design which is said to be locked? - for fabricators
|
#define LOCKBOXES 64 //does it spawn a lockbox around a design which is said to be locked? - for fabricators
|
||||||
#define TRUELOCKS 128 //does it make a truly locked lockbox? If not set, the lockboxes made are unlockable by any crew with an ID
|
#define TRUELOCKS 128 //does it make a truly locked lockbox? If not set, the lockboxes made are unlockable by any crew with an ID
|
||||||
|
|
||||||
|
// Mecca scanner flags
|
||||||
|
#define MECH_SCAN_FAIL 1 // Cannot be scanned at all.
|
||||||
|
#define MECH_SCAN_ILLEGAL 2 // Can only be scanned by the antag scanner.
|
||||||
|
|||||||
6
html/changelogs/N3X15-fix-mecca.yml
Normal file
6
html/changelogs/N3X15-fix-mecca.yml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
author: N3X15
|
||||||
|
delete-after: true
|
||||||
|
changes:
|
||||||
|
- tweak: "Device Analyzers can no longer scan some items. Other items can only be scanned with the traitor variant of the scanner."
|
||||||
|
- tweak: "Flatpacks take 10-20 seconds to open."
|
||||||
|
- bugfix: "Flatpacks hit multiple times by a crowbar will only open once."
|
||||||
Reference in New Issue
Block a user