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:
@@ -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
|
||||
|
||||
@@ -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
@@ -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
|
||||
Reference in New Issue
Block a user