[SUPER DUPER EXTRA READY] Hilbert's Hotel (#41029)

* Initial stage

* final changes?

* Tweaks

* removed bad variables

* Fixed more bad vars

* is this map merged?

* spelling fix

* spelling fix

Co-Authored-By: TheDreamweaver <austin.j.rickli@gmail.com>

* Map fix?

* now this is map merger

* Fixed summoning edge cases

* Fixed spelling mistakes, Added better handling of sphere removal, Added sphere to the cargo shuttle blacklist, Made the "mystery" more dynamic

* Added better handling of stored mob summoning

* Removed redundant code.

* Made the jukebox actually accessible

* Tweaked it so that no maps would need to be loaded on Init

* comment commit

* No src

* Fixed spelling and getting trapped in rocks

* Fixed spawned-in hotel checks

* Blacklisted hotel are from blueprints and migrated storage handling from door to area.

* Prevents observing mobs (ghosts, camera entities) from getting stored.

* Condensed an if statement

* The hotel can now be used on another mob to invite them to the hotel. All living mob types can now exit out the hotel door.

* Fixed wrong user getting prompted when hotel was used on someone else.

* Added peepholes to hotel doors that can be used via AltClick.

* For the grammar lovers.
This commit is contained in:
TheDreamweaver
2018-11-01 12:40:31 -07:00
committed by Jordan Brown
parent fc06738813
commit d464fd04d7
20 changed files with 2973 additions and 2 deletions

View File

@@ -33,6 +33,7 @@ SUBSYSTEM_DEF(mapping)
var/list/z_list
var/datum/space_level/transit
var/datum/space_level/empty_space
var/num_of_res_levels = 1
//dlete dis once #39770 is resolved
/datum/controller/subsystem/mapping/proc/HACK_LoadMapConfig()
@@ -444,6 +445,11 @@ GLOBAL_LIST_EMPTY(the_station_areas)
for(var/i in levels_by_trait(ZTRAIT_RESERVED))
if(reserve.Reserve(width, height, i))
return reserve
//If we didn't return at this point, theres a good chance we ran out of room on the exisiting reserved z levels, so lets try a new one
num_of_res_levels += 1
var/newReserved = add_new_zlevel("Transit/Reserved [num_of_res_levels]", list(ZTRAIT_RESERVED = TRUE))
if(reserve.Reserve(width, height, newReserved))
return reserve
else
if(!level_trait(z, ZTRAIT_RESERVED))
qdel(reserve)
@@ -476,6 +482,7 @@ GLOBAL_LIST_EMPTY(the_station_areas)
LAZYINITLIST(unused_turfs["[T.z]"])
unused_turfs["[T.z]"] |= T
T.flags_1 |= UNUSED_RESERVATION_TURF_1
GLOB.areas_by_type[world.area].contents += T
CHECK_TICK
//DO NOT CALL THIS PROC DIRECTLY, CALL wipe_reservations().