mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
[MIRROR] Better borg modules (#11095)
Co-authored-by: Cameron Lennox <killer65311@gmail.com> Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
85abe91473
commit
f7e20d021e
@@ -8,7 +8,7 @@
|
||||
|
||||
// Now that I've scared away half the people looking at this file, here's the relevant info:
|
||||
|
||||
// Banning areas: Go to global_lists_vr, jump to the BUILDABLE_AREA_TYPES and read the comments left there.
|
||||
// Banning areas: Go to global_lists_vr, jump to the GLOB.BUILDABLE_AREA_TYPES and read the comments left there.
|
||||
|
||||
|
||||
|
||||
@@ -339,11 +339,11 @@
|
||||
if(A.outdoors)
|
||||
return AREA_SPACE
|
||||
|
||||
for (var/type in BUILDABLE_AREA_TYPES)
|
||||
for (var/type in GLOB.BUILDABLE_AREA_TYPES)
|
||||
if ( istype(A,type) )
|
||||
return AREA_SPACE
|
||||
|
||||
for (var/type in SPECIALS)
|
||||
for (var/type in GLOB.SPECIALS)
|
||||
if ( istype(A,type) )
|
||||
return AREA_SPECIAL
|
||||
return AREA_STATION
|
||||
@@ -471,7 +471,7 @@
|
||||
to_chat(creator, span_warning("You need more paper before you can even think of editing this area!"))
|
||||
return
|
||||
|
||||
var/list/turfs = detect_room(get_turf(creator), area_or_turf_fail_types, BP_MAX_ROOM_SIZE*2)
|
||||
var/list/turfs = detect_room(get_turf(creator), GLOB.area_or_turf_fail_types, BP_MAX_ROOM_SIZE*2)
|
||||
if(!turfs)
|
||||
to_chat(creator, span_warning("The new area must have a floor and not a part of a shuttle."))
|
||||
return
|
||||
@@ -483,7 +483,7 @@
|
||||
|
||||
for(var/i in 1 to length(turfs))
|
||||
var/area/place = get_area(turfs[i])
|
||||
if(blacklisted_areas[place.type])
|
||||
if(GLOB.blacklisted_areas[place.type])
|
||||
continue
|
||||
if(!place.requires_power || (place.flag_check(BLUE_SHIELDED)))
|
||||
continue // No expanding powerless rooms etc
|
||||
@@ -551,7 +551,7 @@
|
||||
to_chat(creator, span_warning("You need more paper before you can even think of editing this area!"))
|
||||
return
|
||||
|
||||
var/res = detect_room_ex(get_turf(creator), can_create_areas_into, area_or_turf_fail_types)
|
||||
var/res = detect_room_ex(get_turf(creator), can_create_areas_into, GLOB.area_or_turf_fail_types)
|
||||
if(!res)
|
||||
to_chat(creator, span_warning("There is an area forbidden from being edited here! Use the fine-tune area creator! (3x3)"))
|
||||
return
|
||||
@@ -578,7 +578,7 @@
|
||||
var/str //What the new area is named.
|
||||
var/can_make_new_area = 1 //If they can make a new area here or not.
|
||||
|
||||
var/list/nearby_turfs_to_check = detect_room(get_turf(creator), area_or_turf_fail_types, BP_MAX_ROOM_SIZE*2) //Get the nearby areas.
|
||||
var/list/nearby_turfs_to_check = detect_room(get_turf(creator), GLOB.area_or_turf_fail_types, BP_MAX_ROOM_SIZE*2) //Get the nearby areas.
|
||||
|
||||
if(!nearby_turfs_to_check)
|
||||
to_chat(creator, span_warning("The new area must have a floor and not a part of a shuttle."))
|
||||
@@ -589,10 +589,10 @@
|
||||
|
||||
for(var/i in 1 to length(nearby_turfs_to_check))
|
||||
var/area/place = get_area(nearby_turfs_to_check[i])
|
||||
if(blacklisted_areas[place.type])
|
||||
if(GLOB.blacklisted_areas[place.type])
|
||||
if(!creator.lastarea != place) //Stops them from merging a blacklisted area to make it larger. Allows them to merge a blacklisted area into an allowed area. (Expansion!)
|
||||
continue
|
||||
if(!BUILDABLE_AREA_TYPES[place.type]) //TODOTODOTODO
|
||||
if(!GLOB.BUILDABLE_AREA_TYPES[place.type]) //TODOTODOTODO
|
||||
can_make_new_area = 0
|
||||
if(!place.requires_power || (place.flag_check(BLUE_SHIELDED)))
|
||||
continue // No expanding powerless rooms etc
|
||||
@@ -810,14 +810,14 @@
|
||||
/proc/get_new_area_type(area/A) //1 = can build in. 0 = can not build in.
|
||||
if (!A)
|
||||
A = get_area(usr)
|
||||
if(A.outdoors) //ALWAYS able to build outdoors. This means if it's missed in BUILDABLE_AREA_TYPES it's fine.
|
||||
if(A.outdoors) //ALWAYS able to build outdoors. This means if it's missed in GLOB.BUILDABLE_AREA_TYPES it's fine.
|
||||
return 1
|
||||
|
||||
for (var/type in BUILDABLE_AREA_TYPES) //This works well.
|
||||
for (var/type in GLOB.BUILDABLE_AREA_TYPES) //This works well.
|
||||
if ( istype(A,type) )
|
||||
return 1
|
||||
|
||||
for (var/type in SPECIALS)
|
||||
for (var/type in GLOB.SPECIALS)
|
||||
if ( istype(A,type) )
|
||||
return 0
|
||||
return 0 //If it's not a buildable area, don't let them build in it.
|
||||
@@ -891,7 +891,7 @@
|
||||
var/area/oldA = get_area(get_turf(creator)) //The old area (area currently standing in)
|
||||
var/str //What the new area is named.
|
||||
|
||||
var/list/nearby_turfs_to_check = detect_room(get_turf(creator), area_or_turf_fail_types, 70) //Get the nearby areas.
|
||||
var/list/nearby_turfs_to_check = detect_room(get_turf(creator), GLOB.area_or_turf_fail_types, 70) //Get the nearby areas.
|
||||
|
||||
if(!nearby_turfs_to_check)
|
||||
to_chat(creator, span_warning("The new area must have a floor and not a part of a shuttle."))
|
||||
@@ -901,7 +901,7 @@
|
||||
return
|
||||
|
||||
//They can select an area they want to turn their current area into.
|
||||
str = sanitizeSafe(tgui_input_text(usr, "What would you like to name the area?", "Area Name", null, MAX_NAME_LEN), MAX_NAME_LEN)
|
||||
str = sanitizeSafe(tgui_input_text(creator, "What would you like to name the area?", "Area Name", null, MAX_NAME_LEN), MAX_NAME_LEN)
|
||||
if(isnull(str)) //They pressed cancel.
|
||||
to_chat(creator, span_warning("No new area made. Cancelling."))
|
||||
return
|
||||
|
||||
@@ -11,10 +11,10 @@
|
||||
|
||||
if(var_value)
|
||||
ghostjoin = TRUE
|
||||
active_ghost_pods |= src
|
||||
GLOB.active_ghost_pods |= src
|
||||
else
|
||||
ghostjoin = FALSE
|
||||
active_ghost_pods -= src
|
||||
GLOB.active_ghost_pods -= src
|
||||
|
||||
ghostjoin_icon()
|
||||
. = TRUE
|
||||
@@ -63,7 +63,7 @@
|
||||
/// Inject a ghost into this mob. Assumes you've done all sanity before this point.
|
||||
/mob/living/simple_mob/proc/ghost_join(mob/observer/dead/D)
|
||||
log_and_message_admins("joined [src] as a ghost [ADMIN_FLW(src)]", D)
|
||||
active_ghost_pods -= src
|
||||
GLOB.active_ghost_pods -= src
|
||||
|
||||
// Move the ghost in
|
||||
if(D.mind)
|
||||
@@ -159,7 +159,7 @@
|
||||
target.faction = user.faction
|
||||
target.revivedby = user.name
|
||||
target.ghostjoin = 1
|
||||
active_ghost_pods += target
|
||||
GLOB.active_ghost_pods += target
|
||||
target.ghostjoin_icon()
|
||||
last_used = world.time
|
||||
charges--
|
||||
@@ -188,7 +188,7 @@
|
||||
log_and_message_admins("used a denecrotizer to revive a simple mob: [target]. [ADMIN_FLW(src)]", user)
|
||||
if(!target.mind) //if it doesn't have a mind then no one has been playing as it, and it is safe to offer to ghosts.
|
||||
target.ghostjoin = 1
|
||||
active_ghost_pods |= target
|
||||
GLOB.active_ghost_pods |= target
|
||||
target.ghostjoin_icon()
|
||||
last_used = world.time
|
||||
charges--
|
||||
|
||||
@@ -67,13 +67,6 @@
|
||||
|
||||
return
|
||||
|
||||
/obj/item/multitool/cyborg
|
||||
name = "multitool"
|
||||
desc = "Optimised and stripped-down version of a regular multitool."
|
||||
toolspeed = 0.5
|
||||
|
||||
|
||||
|
||||
/datum/category_item/catalogue/anomalous/precursor_a/alien_multitool
|
||||
name = "Precursor Alpha Object - Pulse Tool"
|
||||
desc = "This ancient object appears to be an electrical tool. \
|
||||
|
||||
@@ -32,23 +32,23 @@
|
||||
name = "Nanite Synthesizer"
|
||||
|
||||
/datum/matter_synth/metal
|
||||
name = "Metal Synthesizer"
|
||||
name = METAL_SYNTH
|
||||
|
||||
/datum/matter_synth/plasteel
|
||||
name = "Plasteel Synthesizer"
|
||||
name = PLASTEEL_SYNTH
|
||||
max_energy = 10000
|
||||
|
||||
/datum/matter_synth/glass
|
||||
name = "Glass Synthesizer"
|
||||
name = GLASS_SYNTH
|
||||
|
||||
/datum/matter_synth/wood
|
||||
name = "Wood Synthesizer"
|
||||
name = WOOD_SYNTH
|
||||
|
||||
/datum/matter_synth/plastic
|
||||
name = "Plastic Synthesizer"
|
||||
name = PLASTIC_SYNTH
|
||||
|
||||
/datum/matter_synth/wire
|
||||
name = "Wire Synthesizer"
|
||||
name = WIRE_SYNTH
|
||||
max_energy = 50
|
||||
recharge_rate = 2
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
recharge_rate = 1
|
||||
|
||||
/datum/matter_synth/cloth
|
||||
name = "Cloth Synthesizer"
|
||||
name = CLOTH_SYNTH
|
||||
|
||||
/datum/matter_synth/beacon
|
||||
name = "Beacon Synthesizer"
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
return 1
|
||||
if (src && usr && usr.machine == src)
|
||||
usr << browse(null, "window=stack")
|
||||
if(islist(synths))
|
||||
synths.Cut()
|
||||
return ..()
|
||||
|
||||
/obj/item/stack/update_icon()
|
||||
|
||||
@@ -225,46 +225,7 @@
|
||||
throw_range = 5
|
||||
attack_verb = list("attacked", "hit", "bludgeoned")
|
||||
|
||||
/*
|
||||
* Cyborg Tools
|
||||
*/
|
||||
/obj/item/surgical/retractor/cyborg
|
||||
icon_state = "cyborg_retractor"
|
||||
toolspeed = 0.5
|
||||
|
||||
/obj/item/surgical/hemostat/cyborg
|
||||
icon_state = "cyborg_hemostat"
|
||||
toolspeed = 0.5
|
||||
|
||||
/obj/item/surgical/cautery/cyborg
|
||||
icon_state = "cyborg_cautery"
|
||||
toolspeed = 0.5
|
||||
|
||||
/obj/item/surgical/surgicaldrill/cyborg
|
||||
icon_state = "cyborg_drill"
|
||||
toolspeed = 0.5
|
||||
|
||||
/obj/item/surgical/scalpel/cyborg
|
||||
icon_state = "cyborg_scalpel"
|
||||
toolspeed = 0.5
|
||||
|
||||
/obj/item/surgical/circular_saw/cyborg
|
||||
icon_state = "cyborg_saw"
|
||||
toolspeed = 0.5
|
||||
|
||||
/obj/item/surgical/bonegel/cyborg
|
||||
toolspeed = 0.5
|
||||
|
||||
/obj/item/surgical/FixOVein/cyborg
|
||||
toolspeed = 0.5
|
||||
|
||||
/obj/item/surgical/bonesetter/cyborg
|
||||
icon_state = "cyborg_setter"
|
||||
toolspeed = 0.5
|
||||
|
||||
/obj/item/surgical/bioregen/cyborg //VoreStation edit: let the borgs S U C C
|
||||
icon_state = "cyborg_bioregen"
|
||||
toolspeed = 0.5
|
||||
|
||||
/*
|
||||
* Alien Tools
|
||||
|
||||
@@ -65,13 +65,6 @@
|
||||
origin_tech = list(TECH_COMBAT = 4, TECH_ENGINEERING = 3)
|
||||
reach = 2
|
||||
|
||||
/obj/item/tool/crowbar/cyborg
|
||||
name = "hydraulic crowbar"
|
||||
desc = "A hydraulic prying tool, compact but powerful. Designed to replace crowbars in industrial synthetics."
|
||||
usesound = 'sound/items/jaws_pry.ogg'
|
||||
force = 10
|
||||
toolspeed = 0.5
|
||||
|
||||
/obj/item/tool/crowbar/power
|
||||
name = "power pryer"
|
||||
desc = "You shouldn't see this."
|
||||
|
||||
@@ -100,12 +100,6 @@
|
||||
random_color = FALSE
|
||||
reach = 2
|
||||
|
||||
/obj/item/tool/screwdriver/cyborg
|
||||
name = "powered screwdriver"
|
||||
desc = "An electrical screwdriver, designed to be both precise and quick."
|
||||
usesound = 'sound/items/drill_use.ogg'
|
||||
toolspeed = 0.5
|
||||
|
||||
/obj/item/tool/screwdriver/power
|
||||
name = "power screwdriver"
|
||||
desc = "You shouldn't see this."
|
||||
|
||||
@@ -362,11 +362,6 @@
|
||||
origin_tech = list(TECH_ENGINEERING = 2, TECH_PHORON = 2)
|
||||
matter = list(MAT_STEEL = 70, MAT_GLASS = 60)
|
||||
|
||||
/obj/item/weldingtool/largetank/cyborg
|
||||
name = "integrated welding tool"
|
||||
desc = "An advanced welder designed to be used in robotic systems."
|
||||
toolspeed = 0.5
|
||||
|
||||
/obj/item/weldingtool/hugetank
|
||||
name = "upgraded welding tool"
|
||||
desc = "A much larger welder with a huge tank."
|
||||
@@ -639,6 +634,10 @@
|
||||
..()
|
||||
|
||||
/obj/item/weldingtool/electric/proc/get_external_power_supply()
|
||||
if(istype(src.loc, /obj/item/robotic_multibelt)) //We are in a multibelt
|
||||
if(istype(src.loc.loc, /mob/living/silicon/robot)) //We are in a multibelt that is in a robot! This is sanity in case someone spawns a multibelt in via admin commands.
|
||||
var/mob/living/silicon/robot/R = src.loc.loc
|
||||
return R.cell
|
||||
if(isrobot(src.loc))
|
||||
var/mob/living/silicon/robot/R = src.loc
|
||||
return R.cell
|
||||
@@ -659,9 +658,6 @@
|
||||
/obj/item/weldingtool/electric/mounted
|
||||
use_external_power = 1
|
||||
|
||||
/obj/item/weldingtool/electric/mounted/cyborg
|
||||
toolspeed = 0.5
|
||||
|
||||
/obj/item/weldingtool/electric/mounted/exosuit
|
||||
var/obj/item/mecha_parts/mecha_equipment/equip_mount = null
|
||||
flame_intensity = 1
|
||||
|
||||
@@ -81,12 +81,6 @@
|
||||
origin_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4)
|
||||
random_color = FALSE
|
||||
|
||||
/obj/item/tool/wirecutters/cyborg
|
||||
name = "wirecutters"
|
||||
desc = "This cuts wires. With science."
|
||||
usesound = 'sound/items/jaws_cut.ogg'
|
||||
toolspeed = 0.5
|
||||
|
||||
/obj/item/tool/wirecutters/hybrid
|
||||
name = "strange wirecutters"
|
||||
desc = "This cuts wires. With " + span_purple("Science!")
|
||||
|
||||
@@ -19,12 +19,6 @@
|
||||
pickup_sound = 'sound/items/pickup/wrench.ogg'
|
||||
tool_qualities = list(TOOL_WRENCH)
|
||||
|
||||
/obj/item/tool/wrench/cyborg
|
||||
name = "automatic wrench"
|
||||
desc = "An advanced robotic wrench. Can be found in industrial synthetic shells."
|
||||
usesound = 'sound/items/drill_use.ogg'
|
||||
toolspeed = 0.5
|
||||
|
||||
/obj/item/tool/wrench/pipe
|
||||
name = "pipe wrench"
|
||||
desc = "A wrench used for plumbing. Can make a good makeshift weapon."
|
||||
|
||||
Reference in New Issue
Block a user