Tg 2 11 sync (#215)

* first series of updates

* datums

* games folder

* admin and atmosia stuffs

* moar

* mob updates borg riding

* sprites and stuff

* fixes for various things

* oops. some missed fixes
This commit is contained in:
Poojawa
2017-02-12 03:56:14 -06:00
committed by GitHub
parent 30b3dff395
commit 6674f9fc15
153 changed files with 1651 additions and 1368 deletions
+5 -2
View File
@@ -9,7 +9,10 @@ var/global/datum/getrev/revdata = new()
/datum/getrev/New()
var/head_file = return_file_text(".git/logs/HEAD")
if(SERVERTOOLS && fexists("..\\prtestjob.lk"))
testmerge = file2list("..\\prtestjob.lk")
var/list/tmp = file2list("..\\prtestjob.lk")
for(var/I in tmp)
if(I)
testmerge |= I
var/testlen = max(testmerge.len - 1, 0)
var/regex/head_log = new("(\\w{40}) .+> (\\d{10}).+(?=(\n.*(\\w{40}).*){[testlen]}\n*\\Z)")
head_log.Find(head_file)
@@ -81,4 +84,4 @@ var/global/datum/getrev/revdata = new()
if(config.probabilities[ctag] > 0)
var/percentage = round(config.probabilities[ctag] / sum * 100, 0.1)
src << "[ctag] [percentage]%"
return
return
@@ -31,6 +31,7 @@
for(var/L in block(locate(bounds[MAP_MINX], bounds[MAP_MINY], bounds[MAP_MINZ]),
locate(bounds[MAP_MAXX], bounds[MAP_MAXY], bounds[MAP_MAXZ])))
var/turf/B = L
atoms += B
for(var/A in B)
atoms += A
if(istype(A,/obj/structure/cable))
@@ -43,6 +44,7 @@
SSobj.InitializeAtoms(atoms)
SSmachine.setup_template_powernets(cables)
SSair.setup_template_machinery(atmos_machines)
SSair.end_map_load()
/datum/map_template/proc/load(turf/T, centered = FALSE)
if(centered)
@@ -54,8 +56,10 @@
if(T.y+height > world.maxy)
return
SSair.begin_map_load()
var/list/bounds = maploader.load_map(get_file(), T.x, T.y, T.z, cropMap=TRUE)
if(!bounds)
SSair.end_map_load()
return 0
//initialize things that are normally initialized after map load
+72
View File
@@ -297,3 +297,75 @@
handle_vehicle_offsets()
else
user << "<span class='notice'>You'll need something to guide the [ridden.name].</span>"
//CYBORGS. NO, THEY ARE NOT ANIMALS.
/datum/riding/cyborg
keytype = null
vehicle_move_delay = 1
/datum/riding/cyborg/proc/ride_check(mob/user)
if(user.incapacitated())
var/kick = TRUE
if(istype(ridden, /mob/living/silicon/robot))
var/mob/living/silicon/robot/R = ridden
if(R.module && R.module.ride_allow_incapacitated)
kick = FALSE
if(kick)
user << "<span class='userdanger'>You fall off of [ridden]!</span>"
ridden.unbuckle_mob(user)
return
if(istype(user, /mob/living/carbon))
var/mob/living/carbon/carbonuser = user
if(!carbonuser.get_num_arms())
ridden.unbuckle_mob(user)
user << "<span class='userdanger'>You can't grab onto [ridden] with no hands!</span>"
return
/datum/riding/cyborg/handle_vehicle_layer()
if(ridden.dir == SOUTH)
ridden.layer = ABOVE_MOB_LAYER
else
ridden.layer = OBJ_LAYER
if(!ridden.buckled_mobs)
ridden.layer = MOB_LAYER
/datum/riding/cyborg/handle_vehicle_offsets()
if(ridden.has_buckled_mobs())
for(var/mob/living/M in ridden.buckled_mobs)
M.setDir(ridden.dir)
if(iscyborg(ridden))
var/mob/living/silicon/robot/R = ridden
if(istype(R.module))
M.pixel_x = R.module.ride_offset_x[dir2text(ridden.dir)]
M.pixel_y = R.module.ride_offset_y[dir2text(ridden.dir)]
else
switch(ridden.dir)
if(NORTH)
M.pixel_x = 0
M.pixel_y = 4
if(SOUTH)
M.pixel_x = 0
M.pixel_y = 4
if(EAST)
M.pixel_x = -6
M.pixel_y = 3
if(WEST)
M.pixel_x = 6
M.pixel_y = 3
/datum/riding/cyborg/proc/on_vehicle_move()
for(var/mob/living/M in ridden.buckled_mobs)
ride_check(M)
handle_vehicle_offsets()
handle_vehicle_layer()
/datum/riding/cyborg/proc/force_dismount()
for(var/mob/living/M in ridden.buckled_mobs)
ridden.unbuckle_mob(M)
var/turf/target = get_edge_target_turf(ridden, ridden.dir)
var/turf/targetm = get_step(get_turf(ridden), ridden.dir)
M.Move(targetm)
M.visible_message("<span class='boldwarning'>[M] is thrown clear of [ridden] by rapid spinning!</span>")
M.throw_at(target, 14, 5, ridden)
M.Weaken(3)
+16 -4
View File
@@ -73,6 +73,19 @@
admin_notes = "Due to the limited space for non paying crew, this shuttle may cause a riot."
credit_cost = 10000
/datum/map_template/shuttle/emergency/arena
suffix = "arena"
name = "The Arena"
description = "The crew must pass through an otherworldy arena to board this shuttle. Expect massive casualties. The source of the Bloody Signal must be tracked down and eliminated to unlock this shuttle."
admin_notes = "RIP AND TEAR."
credit_cost = 10000
/datum/map_template/shuttle/emergency/arena/prerequisites_met()
if("bubblegum" in SSshuttle.shuttle_purchase_requirements_met)
return TRUE
return FALSE
/datum/map_template/shuttle/emergency/birdboat
suffix = "birdboat"
name = "Birdboat Station Emergency Shuttle"
@@ -104,7 +117,6 @@
\n\
Contains contraband armory guns, maintenance loot, and abandoned crates!"
admin_notes = "Due to origin as a solo piloted secure vessel, has an active GPS onboard labeled STV5."
credit_cost = -7500
/datum/map_template/shuttle/emergency/meta
suffix = "meta"
@@ -160,8 +172,8 @@
/datum/map_template/shuttle/emergency/goon
suffix = "goon"
name = "NES Port"
description = "The Nanotrasen Emergency Shuttle Port(NES Port for short) is a shuttle used at other less known nanotrasen facilities and has a more open inside for larger crowds."
credit_cost = 3000
description = "The Nanotrasen Emergency Shuttle Port(NES Port for short) is a shuttle used at other less known Nanotrasen facilities and has a more open inside for larger crowds, but fewer onboard shuttle facilities."
credit_cost = 500
/datum/map_template/shuttle/emergency/wabbajack
suffix = "wabbajack"
@@ -219,4 +231,4 @@
name = "Delta Station Emergency Shuttle"
description = "A large shuttle for a large station, this shuttle can comfortably fit all your overpopulation and crowding needs. Complete with all facilities plus additional equipment."
admin_notes = "Go big or go home."
credit_cost = 7500
credit_cost = 7500