Merge pull request #2848 from VOREStation/aro-exploration

Exploration Update
This commit is contained in:
Aronai Sieyes
2018-01-27 15:32:42 -05:00
committed by GitHub
57 changed files with 1862 additions and 1707 deletions
+7 -2
View File
@@ -378,10 +378,15 @@
qdel(adminmob)
feedback_add_details("admin_verb","ADC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/take_picture(var/atom/A in world)
set name = "Save PNG"
set category = "Debug"
set desc = "Opens a dialog to save a PNG of any object in the game."
if(!check_rights(R_DEBUG))
return
downloadImage(A)
/client/proc/cmd_admin_areatest()
set category = "Mapping"
@@ -41,7 +41,12 @@
if(!map)
return
template = map_templates[map]
if(template.width > world.maxx || template.height > world.maxy)
if(alert(usr,"This template is larger than the existing z-levels. It will EXPAND ALL Z-LEVELS to match the size of the template. This may cause chaos. Are you sure you want to do this?","DANGER!!!","Cancel","Yes") == "Cancel")
to_chat(usr,"Template placement aborted.")
return
if(alert(usr,"Confirm map load.", "Template Confirm","No","Yes") == "Yes")
if(template.load_new_z())
message_admins("<span class='adminnotice'>[key_name_admin(usr)] has placed a map template ([template.name]) on Z level [world.maxz].</span>")
+1
View File
@@ -163,6 +163,7 @@ var/list/debug_verbs = list (
,/client/proc/atmos_toggle_debug
,/client/proc/spawn_tanktransferbomb
,/client/proc/debug_process_scheduler
,/client/proc/take_picture
)
+3
View File
@@ -95,6 +95,9 @@ obj/machinery/gateway/centerstation/process()
if(world.time < wait)
user << "<span class='notice'>Error: Warpspace triangulation in progress. Estimated time to completion: [round(((wait - world.time) / 10) / 60)] minutes.</span>"
return
if(!awaygate.calibrated && LAZYLEN(awaydestinations))
user << "<span class='notice'>Error: Destination gate uncalibrated. Gateway unsafe to use without far-end calibration update.</span>"
return
for(var/obj/machinery/gateway/G in linked)
G.active = 1
@@ -54,7 +54,7 @@
if(alt_title && !(alt_title in job.alt_titles))
pref.player_alt_titles -= job.title
/datum/category_item/player_setup_item/occupation/content(mob/user, limit = 18, list/splitJobs = list("Chief Medical Officer"))
/datum/category_item/player_setup_item/occupation/content(mob/user, limit = 18, list/splitJobs = list("Chief Engineer"))
if(!job_master)
return
+10 -5
View File
@@ -102,18 +102,23 @@ var/list/global/map_templates = list()
admin_notice("<span class='danger'>Submap initializations finished.</span>", R_DEBUG)
/datum/map_template/proc/load_new_z()
var/x = round(world.maxx/2)
var/y = round(world.maxy/2)
/datum/map_template/proc/load_new_z(var/centered = FALSE, var/dont_init = FALSE)
var/x = 1
var/y = 1
var/list/bounds = maploader.load_map(file(mappath), x, y)
if(centered)
x = round((world.maxx - width)/2)
y = round((world.maxy - height)/2)
var/list/bounds = maploader.load_map(file(mappath), x, y, no_changeturf = TRUE)
if(!bounds)
return FALSE
// repopulate_sorted_areas()
//initialize things that are normally initialized after map load
initTemplateBounds(bounds)
if(!dont_init)
initTemplateBounds(bounds)
log_game("Z-level [name] loaded at at [x],[y],[world.maxz]")
return TRUE
@@ -0,0 +1,37 @@
/mob/living/simple_animal/fennec
name = "fennec"
desc = "It's a dusty big-eared sandfox! Adorable!"
icon = 'icons/mob/vore.dmi'
icon_state = "fennec"
icon_living = "fennec"
icon_dead = "fennec_dead"
icon_rest = "fennec_rest"
faction = "fennec"
maxHealth = 30
health = 30
response_help = "pats the"
response_disarm = "gently pushes aside the"
response_harm = "hits the"
harm_intent_damage = 5
melee_damage_lower = 5
melee_damage_upper = 2
attacktext = "bapped"
speak_chance = 1
speak = list("SKREEEE!",
"Chrp?",
"Ararrrararr.")
emote_hear = list("screEEEEeeches!","chirps.")
emote_see = list("earflicks","sniffs at the ground")
// Activate Noms!
/mob/living/simple_animal/fennec
vore_active = 1
vore_bump_chance = 10
vore_bump_emote = "playfully lunges at"
vore_pounce_chance = 40
vore_default_mode = DM_HOLD
vore_icons = SA_ICON_LIVING
+7 -3
View File
@@ -150,9 +150,9 @@
move(interim, destination, direction)
moving_status = SHUTTLE_IDLE
//on_shuttle_arrival()//VOREStation Edit.
on_shuttle_arrival()
//make_sounds(destination, HYPERSPACE_END)//VOREStation Edit. See above comment.
make_sounds(destination, HYPERSPACE_END)
/datum/shuttle/proc/dock()
if (!docking_controller)
@@ -255,4 +255,8 @@
if(HYPERSPACE_END)
sound_to_play = 'sound/effects/shuttles/hyperspace_end.ogg'
for(var/obj/machinery/door/E in A) //dumb, I know, but playing it on the engines doesn't do it justice
playsound(E, sound_to_play, 50, FALSE)
playsound(E, sound_to_play, 50, FALSE)
/datum/shuttle/proc/message_passengers(area/A, var/message)
for(var/mob/M in A)
M.show_message(message, 2)
@@ -57,10 +57,6 @@
..() // Do everything else
/datum/shuttle/proc/message_passengers(area/A, var/message)
for(var/mob/M in A)
M.show_message(message, 2)
/*
/datum/shuttle/ferry/arrivals/current_dock_target()
if(location) // If we're off station.
+32
View File
@@ -379,3 +379,35 @@
icon_state = "right"
density = TRUE
anchored = TRUE
//An object for creating a shuttle destination to dynamically loaded maps
/obj/shuttle_connector
name = "shuttle connector"
var/shuttle_name //Text name of the shuttle to connect to
var/start_time = 60 SECONDS //After round start (needs to be some time, to let other destinations set up)
var/list/destinations //Make sure this STARTS with a destination that builds a route to one that always exists as an anchor.
/obj/shuttle_connector/initialize()
. = ..()
processing_objects += src
/obj/shuttle_connector/process()
if(world.time < start_time)
return
if(destinations && shuttle_name)
var/datum/shuttle/web_shuttle/ES = shuttle_controller.shuttles[shuttle_name]
var/datum/shuttle_web_master/WM = ES.web_master
for(var/new_dest in destinations)
var/datum/shuttle_destination/D = new new_dest(WM)
WM.destinations += D
for(var/type_to_link in D.routes_to_make)
var/travel_delay = D.routes_to_make[type_to_link]
D.link_destinations(WM.get_destination_by_type(type_to_link), D.preferred_interim_area, travel_delay)
processing_objects -= src
qdel(src)
+5 -2
View File
@@ -54,6 +54,7 @@
var/datum/shuttle_web_master/master = null // The datum that does the coordination with the actual shuttle datum.
var/list/routes = list() // Routes that are connected to this destination.
var/preferred_interim_area = null // When building a new route, use this interim area.
var/skip_me = FALSE // We will not autocreate this one. Some map must be doing it.
var/dock_target = null // The tag_id that the shuttle will use to try to dock to the destination, if able.
@@ -194,8 +195,10 @@
// First, instantiate all the destination subtypes relevant to this datum.
var/list/destination_types = typesof(destination_class) - destination_class
for(var/new_type in destination_types)
var/datum/shuttle_destination/D = new new_type(src)
destinations += D
var/datum/shuttle_destination/D = new_type
if(initial(D.skip_me))
continue
destinations += new new_type(src)
// Now start the process of connecting all of them.
for(var/datum/shuttle_destination/D in destinations)