12/21 modernizations from TG live (#103)

* sync (#3)

* shuttle auto call

* Merge /vore into /master (#39)

* progress

* Compile errors fixed

No idea if it's test worthy tho as conflicts with race overhaul and
narky removal.

* Update admins.txt

* efforts continue

Fuck grab code, seriously

* grab code is cancer

* Execute the Narkism

Do not hesitate.

Show no mercy.

* holy shit grab code is awful

* have I bitched about grab code

My bitching, let me show you it

* código de agarre es una mierda

No really it is

* yeah I don't even know anymore.

* Lolnope. Fuck grab code

* I'm not even sure what to fix anymore

* Self eating is not an acceptable fate

* Taste the void, son.

* My code doesn't pass it's own sanity check.

Maybe it's a sign of things to come.

* uncommented and notes

* It Works and I Don't Know Why (#38)

* shuttle auto call

* it works and I don't know why

* Subsystem 12/21

Most Recent TG subsystem folder

* globalvars 12/21

Tossed out the flavor_misc and parallax files

* Onclick 12/21

as well as .dme updates

* _defines 12/21

ommited old _MC.dm

* _HELPERS 12/21

Preserved snowflake placement of furry sprites

* _defeines/genetics

reapplied narkism holdover for snowflake races.

* Oops forgot mutant colors

* modules porting 12/21 + Sounds/icons

Admin, Client and most of mob life files ommitted

* enviroment file

* Admin optimizations

ahelp log system kept

* Mob ports 12/21

Flavor text preserved

* datums ported 12/21

* Game ported 12/21

* batch of duplicate fixes/dogborg work

Dogborgs need to be modernized to refractored borg standards.

* moar fixes

* Maps and futher compile fixes
This commit is contained in:
Poojawa
2016-12-22 03:57:55 -06:00
committed by GitHub
parent f5e143a452
commit cf59ac1c3d
2215 changed files with 707445 additions and 87041 deletions
+2 -2
View File
@@ -8,7 +8,7 @@
generic_pixel_y = 4
vehicle_move_delay = 1
var/static/image/atvcover = null
/obj/vehicle/atv/New()
..()
@@ -17,7 +17,7 @@
atvcover.layer = ABOVE_MOB_LAYER
obj/vehicle/atv/post_buckle_mob(mob/living/M)
/obj/vehicle/atv/post_buckle_mob(mob/living/M)
if(has_buckled_mobs())
add_overlay(atvcover)
else
+6 -1
View File
@@ -7,6 +7,11 @@
var/obj/item/weapon/storage/bag/trash/mybag = null
var/floorbuffer = 0
/obj/vehicle/janicart/Destroy()
if(mybag)
qdel(mybag)
mybag = null
return ..()
/obj/vehicle/janicart/handle_vehicle_offsets()
..()
@@ -90,4 +95,4 @@
mybag.loc = get_turf(user)
user.put_in_hands(mybag)
mybag = null
update_icon()
update_icon()
+16 -9
View File
@@ -7,7 +7,7 @@
if(istype(I, /obj/item/weapon/wrench))
user << "<span class='notice'>You begin to remove the handlebars...</span>"
playsound(get_turf(user), 'sound/items/Ratchet.ogg', 50, 1)
if(do_after(user, 40/I.toolspeed, target = src))
if(do_after(user, 40*I.toolspeed, target = src))
new /obj/vehicle/scooter/skateboard(get_turf(src))
new /obj/item/stack/rods(get_turf(src),2)
user << "<span class='notice'>You remove the handlebars from [src].</span>"
@@ -38,15 +38,18 @@
else
buckled_mob.pixel_y = -4
/obj/vehicle/scooter/buckle_mob(mob/living/M, force = 0)
if(!istype(M))
return 0
if(M.get_num_legs() < 2 && M.get_num_arms() <= 0)
M << "<span class='warning'>Your limbless body can't use [src].</span>"
return 0
. = ..()
/obj/vehicle/scooter/post_buckle_mob(mob/living/M)
vehicle_move_delay = initial(vehicle_move_delay)
..()
if(M.get_num_legs() < 2)
vehicle_move_delay ++
if(M.get_num_arms() <= 0)
if(buckled_mobs.len)//to prevent the message displaying twice due to unbuckling
M << "<span class='warning'>Your limbless body flops off \the [src].</span>"
unbuckle_mob(M)
/obj/vehicle/scooter/skateboard
name = "skateboard"
@@ -92,7 +95,7 @@
desc = "A metal frame for building a scooter. Looks like you'll need to add some metal to make wheels."
icon = 'icons/obj/vehicles.dmi'
icon_state = "scooter_frame"
w_class = 3
w_class = WEIGHT_CLASS_NORMAL
/obj/item/scooter_frame/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/wrench))
@@ -104,11 +107,13 @@
else if(istype(I, /obj/item/stack/sheet/metal))
var/obj/item/stack/sheet/metal/M = I
if(M.amount < 5)
if(M.get_amount() < 5)
user << "<span class='warning'>You need at least five metal sheets to make proper wheels!</span>"
return
user << "<span class='notice'>You begin to add wheels to [src].</span>"
if(do_after(user, 80, target = src))
if(!M || M.get_amount() < 5)
return
M.use(5)
user << "<span class='notice'>You finish making wheels for [src].</span>"
new /obj/vehicle/scooter/skateboard(user.loc)
@@ -117,7 +122,7 @@
/obj/vehicle/scooter/skateboard/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/screwdriver))
user << "<span class='notice'>You begin to deconstruct and remove the wheels on [src]...</span>"
playsound(get_turf(user), 'sound/items/Screwdriver.ogg', 50, 1)
playsound(get_turf(user), I.usesound, 50, 1)
if(do_after(user, 20, target = src))
user << "<span class='notice'>You deconstruct the wheels on [src].</span>"
new /obj/item/stack/sheet/metal(get_turf(src),5)
@@ -131,6 +136,8 @@
return
user << "<span class='notice'>You begin making handlebars for [src].</span>"
if(do_after(user, 25, target = src))
if(!C || C.get_amount() < 2)
return
user << "<span class='notice'>You add the rods to [src], creating handlebars.</span>"
C.use(2)
new/obj/vehicle/scooter(get_turf(src))
+36 -6
View File
@@ -8,6 +8,9 @@
anchored = 0
can_buckle = 1
buckle_lying = 0
obj_integrity = 300
max_integrity = 300
armor = list(melee = 30, bullet = 30, laser = 30, energy = 0, bomb = 30, bio = 0, rad = 0, fire = 60, acid = 60)
var/keytype = null //item typepath, if non-null an item of this type is needed in your hands to drive this vehicle
var/next_vehicle_move = 0 //used for move delays
var/vehicle_move_delay = 2 //tick delay between movements, lower = faster, higher = slower
@@ -52,7 +55,7 @@
//KEYS
/obj/vehicle/proc/keycheck(mob/user)
if(keytype)
if(istype(user.l_hand, keytype) || istype(user.r_hand, keytype))
if(user.is_holding_item_of_type(keytype))
return 1
else
return 1
@@ -63,7 +66,7 @@
desc = "A small grey key."
icon = 'icons/obj/vehicles.dmi'
icon_state = "key"
w_class = 1
w_class = WEIGHT_CLASS_TINY
//BUCKLE HOOKS
@@ -94,12 +97,14 @@
/obj/vehicle/relaymove(mob/user, direction)
if(user.incapacitated())
unbuckle_mob(user)
return
if(world.time < next_vehicle_move)
return
next_vehicle_move = world.time + vehicle_move_delay
if(keycheck(user))
if(!Process_Spacemove(direction) || world.time < next_vehicle_move || !isturf(loc))
if(!Process_Spacemove(direction) || !isturf(loc))
return
next_vehicle_move = world.time + vehicle_move_delay
step(src, direction)
handle_vehicle_layer()
@@ -129,7 +134,7 @@
/obj/vehicle/Process_Spacemove(direction)
if(has_gravity(src))
if(has_gravity())
return 1
if(pulledby)
@@ -142,3 +147,28 @@
/obj/vehicle/space/Process_Spacemove(direction)
return 1
/obj/vehicle/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir)
if(damage_flag == "melee" && damage_amount < 20)
return 0
. = ..()
/obj/vehicle/deconstruct(disassembled = TRUE)
new /obj/item/stack/sheet/metal (loc, 5)
qdel(src)
/obj/vehicle/examine(mob/user)
..()
if(!(resistance_flags & INDESTRUCTIBLE))
if(resistance_flags & ON_FIRE)
user << "<span class='warning'>It's on fire!</span>"
var/healthpercent = (obj_integrity/max_integrity) * 100
switch(healthpercent)
if(100 to INFINITY)
user << "It seems pristine and undamaged."
if(50 to 100)
user << "It looks slightly damaged."
if(25 to 50)
user << "It appears heavily damaged."
if(0 to 25)
user << "<span class='warning'>It's falling apart!</span>"