Revert "12/21 modernizations from TG live"

This commit is contained in:
LetterJay
2016-12-22 22:35:44 -06:00
committed by GitHub
parent cf59ac1c3d
commit ae40d4134e
2215 changed files with 86928 additions and 707332 deletions
+215 -106
View File
@@ -29,9 +29,7 @@
var/buildstackamount = 1
var/framestackamount = 2
var/deconstruction_ready = 1
obj_integrity = 100
max_integrity = 100
integrity_failure = 30
var/health = 100
smooth = SMOOTH_TRUE
canSmoothWith = list(/obj/structure/table, /obj/structure/table/reinforced)
@@ -46,19 +44,65 @@
queue_smooth(src)
queue_smooth_neighbors(src)
/obj/structure/table/ex_act(severity, target)
switch(severity)
if(1)
qdel(src)
if(2)
take_damage(rand(80,120), BRUTE, 0)
if(3)
take_damage(rand(40,80), BRUTE, 0)
/obj/structure/table/blob_act(obj/effect/blob/B)
if(prob(75))
qdel(src)
/obj/structure/table/narsie_act()
if(prob(20))
new /obj/structure/table/wood(src.loc)
/obj/structure/table/ratvar_act()
new /obj/structure/table/reinforced/brass(src.loc)
if(prob(20))
new /obj/structure/table/reinforced/brass(src.loc)
/obj/structure/table/mech_melee_attack(obj/mecha/M)
playsound(src.loc, 'sound/weapons/punch4.ogg', 50, 1)
visible_message("<span class='danger'>[M.name] smashes [src]!</span>")
take_damage(200, M.damtype, 0)
/obj/structure/table/attack_alien(mob/living/user)
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src)
playsound(src.loc, 'sound/weapons/bladeslice.ogg', 50, 1)
visible_message("<span class='danger'>[user] slices [src]!</span>")
take_damage(100, BRUTE, 0)
/obj/structure/table/attack_animal(mob/living/simple_animal/user)
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src)
if(user.melee_damage_upper)
var/dmg_dealt = user.melee_damage_upper
if(user.environment_smash)
dmg_dealt = 100
visible_message("<span class='warning'>[user] smashes [src]!</span>")
playsound(src.loc, 'sound/weapons/Genhit.ogg', 50, 1)
take_damage(dmg_dealt, user.melee_damage_type, 0)
/obj/structure/table/attack_paw(mob/user)
attack_hand(user)
/obj/structure/table/attack_hulk(mob/living/carbon/human/user)
..(user, 1)
playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1)
visible_message("<span class='danger'>[user] smashes [src]!</span>")
user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ))
take_damage(rand(180,280), BRUTE, 0)
return 1
/obj/structure/table/attack_hand(mob/living/user)
if(user.a_intent == INTENT_GRAB && user.pulling && isliving(user.pulling))
if(user.a_intent == "grab" && user.pulling && isliving(user.pulling))
var/mob/living/pushed_mob = user.pulling
if(pushed_mob.buckled)
user << "<span class='warning'>[pushed_mob] is buckled to [pushed_mob.buckled]!</span>"
@@ -71,6 +115,13 @@
else
..()
/obj/structure/table/attack_tk() // no telehulk sorry
return
/obj/structure/table/bullet_act(obj/item/projectile/P)
. = ..()
take_damage(P.damage, P.damage_type, 0)
/obj/structure/table/CanPass(atom/movable/mover, turf/target, height=0)
if(height==0)
return 1
@@ -100,18 +151,11 @@
/obj/structure/table/attackby(obj/item/I, mob/user, params)
if(!(flags & NODECONSTRUCT))
if(istype(I, /obj/item/weapon/screwdriver) && deconstruction_ready)
user << "<span class='notice'>You start disassembling [src]...</span>"
playsound(src.loc, I.usesound, 50, 1)
if(do_after(user, 20*I.toolspeed, target = src))
deconstruct(TRUE)
table_deconstruct(user, 1)
return
if(istype(I, /obj/item/weapon/wrench) && deconstruction_ready)
user << "<span class='notice'>You start deconstructing [src]...</span>"
playsound(src.loc, I.usesound, 50, 1)
if(do_after(user, 40*I.toolspeed, target = src))
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
deconstruct(TRUE, 1)
table_deconstruct(user, 0)
return
if(istype(I, /obj/item/weapon/storage/bag/tray))
@@ -127,7 +171,7 @@
return
// If the tray IS empty, continue on (tray will be placed on the table like other items)
if(user.a_intent != INTENT_HARM && !(I.flags & ABSTRACT))
if(user.a_intent != "harm" && !(I.flags & ABSTRACT))
if(user.drop_item())
I.Move(loc)
var/list/click_params = params2list(params)
@@ -141,18 +185,62 @@
else
return ..()
/obj/structure/table/attacked_by(obj/item/I, mob/living/user)
..()
take_damage(I.force, I.damtype)
/obj/structure/table/deconstruct(disassembled = TRUE, wrench_disassembly = 0)
/obj/structure/table/proc/take_damage(damage, damage_type = BRUTE, sound_effect = 1)
switch(damage_type)
if(BRUTE)
if(sound_effect)
if(damage)
playsound(loc, 'sound/weapons/smash.ogg', 50, 1)
else
playsound(loc, 'sound/weapons/tap.ogg', 50, 1)
if(BURN)
if(sound_effect)
playsound(loc, 'sound/items/Welder.ogg', 40, 1)
else
return
health -= damage
if(health <= 0)
table_destroy()
/*
* TABLE DESTRUCTION/DECONSTRUCTION
*/
/obj/structure/table/proc/table_destroy()
if(!(flags & NODECONSTRUCT))
var/turf/T = get_turf(src)
new buildstack(T, buildstackamount)
if(!wrench_disassembly)
new frame(T)
else
new framestack(T, framestackamount)
for(var/i = 1, i <= framestackamount, i++)
new framestack(T)
for(var/i = 1, i <= buildstackamount, i++)
new buildstack(T)
qdel(src)
/obj/structure/table/proc/table_deconstruct(mob/user, disassembling = 0)
if(flags & NODECONSTRUCT)
return
if(disassembling)
user << "<span class='notice'>You start disassembling [src]...</span>"
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
if(do_after(user, 20, target = src))
new frame(src.loc)
for(var/i = 1, i <= buildstackamount, i++)
new buildstack(get_turf(src))
qdel(src)
else
user << "<span class='notice'>You start deconstructing [src]...</span>"
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
if(do_after(user, 40, target = src))
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
table_destroy()
/*
* Glass tables
*/
@@ -163,10 +251,7 @@
icon_state = "glass_table"
buildstack = /obj/item/stack/sheet/glass
canSmoothWith = null
obj_integrity = 70
max_integrity = 70
resistance_flags = ACID_PROOF
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 80, acid = 100)
health = 50
var/list/debris = list()
/obj/structure/table/glass/New()
@@ -187,16 +272,15 @@
return
// Don't break if they're just flying past
if(AM.throwing)
addtimer(src, "throw_check", 5, TIMER_NORMAL, AM)
spawn(5)
// Check again in a bit though
if(AM.loc == get_turf(src))
check_break(AM)
else
check_break(AM)
/obj/structure/table/glass/proc/throw_check(mob/living/M)
if(M.loc == get_turf(src))
check_break(M)
/obj/structure/table/glass/proc/check_break(mob/living/M)
if(M.has_gravity() && M.mob_size > MOB_SIZE_SMALL)
if(has_gravity(M) && M.mob_size > MOB_SIZE_SMALL)
table_shatter(M)
/obj/structure/table/glass/proc/table_shatter(mob/M)
@@ -213,20 +297,6 @@
M.Weaken(5)
qdel(src)
/obj/structure/table/glass/deconstruct(disassembled = TRUE, wrench_disassembly = 0)
if(!(flags & NODECONSTRUCT))
if(disassembled)
..()
return
else
var/turf/T = get_turf(src)
playsound(T, "shatter", 50, 1)
for(var/X in debris)
var/atom/movable/AM = X
AM.forceMove(T)
debris -= AM
qdel(src)
/obj/structure/table/glass/narsie_act()
color = NARSIE_WINDOW_COLOUR
for(var/obj/item/weapon/shard/S in debris)
@@ -244,9 +314,8 @@
frame = /obj/structure/table_frame/wood
framestack = /obj/item/stack/sheet/mineral/wood
buildstack = /obj/item/stack/sheet/mineral/wood
resistance_flags = FLAMMABLE
obj_integrity = 70
max_integrity = 70
burn_state = FLAMMABLE
burntime = 20
canSmoothWith = list(/obj/structure/table/wood,
/obj/structure/table/wood/poker,
/obj/structure/table/wood/bar)
@@ -264,20 +333,6 @@
/obj/structure/table/wood/poker/narsie_act()
new /obj/structure/table/wood(src.loc)
/obj/structure/table/wood/fancy
name = "fancy table"
desc = "A standard metal table frame covered with an amazingly fancy, patterned cloth."
icon = 'icons/obj/structures.dmi'
icon_state = "fancy_table"
frame = /obj/structure/table_frame
framestack = /obj/item/stack/rods
buildstack = /obj/item/stack/tile/carpet
canSmoothWith = list(/obj/structure/table/wood/fancy)
/obj/structure/table/wood/fancy/New()
icon = 'icons/obj/smooth_structures/fancy_table.dmi' //so that the tables place correctly in the map editor
..()
/*
* Reinforced tables
*/
@@ -289,10 +344,7 @@
deconstruction_ready = 0
buildstack = /obj/item/stack/sheet/plasteel
canSmoothWith = list(/obj/structure/table/reinforced, /obj/structure/table)
obj_integrity = 200
max_integrity = 200
integrity_failure = 50
armor = list(melee = 10, bullet = 30, laser = 30, energy = 100, bomb = 20, bio = 0, rad = 0, fire = 80, acid = 70)
health = 200
/obj/structure/table/reinforced/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/weldingtool))
@@ -301,40 +353,32 @@
playsound(src.loc, W.usesound, 50, 1)
if(deconstruction_ready)
user << "<span class='notice'>You start strengthening the reinforced table...</span>"
if (do_after(user, 50*W.toolspeed, target = src))
if (do_after(user, 50/W.toolspeed, target = src))
if(!src || !WT.isOn()) return
user << "<span class='notice'>You strengthen the table.</span>"
deconstruction_ready = 0
else
user << "<span class='notice'>You start weakening the reinforced table...</span>"
if (do_after(user, 50*W.toolspeed, target = src))
if (do_after(user, 50/W.toolspeed, target = src))
if(!src || !WT.isOn()) return
user << "<span class='notice'>You weaken the table.</span>"
deconstruction_ready = 1
else
. = ..()
return ..()
/obj/structure/table/reinforced/brass
name = "brass table"
desc = "A solid, slightly beveled brass table."
icon = 'icons/obj/smooth_structures/brass_table.dmi'
icon_state = "brass_table"
resistance_flags = FIRE_PROOF | ACID_PROOF
frame = /obj/structure/table_frame/brass
framestack = /obj/item/stack/tile/brass
buildstack = /obj/item/stack/tile/brass
framestackamount = 1
buildstackamount = 1
framestackamount = 0
buildstackamount = 0
canSmoothWith = list(/obj/structure/table/reinforced/brass)
/obj/structure/table/reinforced/brass/New()
change_construction_value(2)
..()
/obj/structure/table/reinforced/brass/Destroy()
change_construction_value(-2)
return ..()
/obj/structure/table/reinforced/brass/table_destroy()
new frame(src.loc)
qdel(src)
/obj/structure/table/reinforced/brass/narsie_act()
take_damage(rand(15, 45), BRUTE)
@@ -342,10 +386,9 @@
var/previouscolor = color
color = "#960000"
animate(src, color = previouscolor, time = 8)
addtimer(src, "update_atom_colour", 8)
/obj/structure/table/reinforced/brass/ratvar_act()
obj_integrity = max_integrity
health = initial(health)
/*
* Surgery Tables
@@ -402,8 +445,30 @@
density = 1
anchored = 1
pass_flags = LETPASSTHROW //You can throw objects over this, despite it's density.
obj_integrity = 20
max_integrity = 20
var/health = 20
/obj/structure/rack/ex_act(severity, target)
switch(severity)
if(1)
qdel(src)
if(2)
if(prob(50))
rack_destroy()
else
qdel(src)
if(3)
take_damage(rand(5,25), BRUTE, 0)
/obj/structure/rack/blob_act(obj/effect/blob/B)
if(prob(75))
qdel(src)
else
rack_destroy()
/obj/structure/rack/mech_melee_attack(obj/mecha/M)
if(..())
take_damage(M.force*2)
/obj/structure/rack/CanPass(atom/movable/mover, turf/target, height=0)
if(height==0) return 1
@@ -421,7 +486,7 @@
. = . || mover.checkpass(PASSTABLE)
/obj/structure/rack/MouseDrop_T(obj/O, mob/user)
if ((!( istype(O, /obj/item/weapon) ) || user.get_active_held_item() != O))
if ((!( istype(O, /obj/item/weapon) ) || user.get_active_hand() != O))
return
if(!user.drop_item())
return
@@ -432,39 +497,83 @@
/obj/structure/rack/attackby(obj/item/weapon/W, mob/user, params)
if (istype(W, /obj/item/weapon/wrench) && !(flags&NODECONSTRUCT))
playsound(src.loc, W.usesound, 50, 1)
deconstruct(TRUE)
rack_destroy()
return
if(user.a_intent == INTENT_HARM)
if(user.a_intent == "harm")
return ..()
if(user.drop_item())
W.Move(loc)
return 1
/obj/structure/rack/attacked_by(obj/item/I, mob/living/user)
..()
take_damage(I.force, I.damtype)
/obj/structure/rack/attack_paw(mob/living/user)
attack_hand(user)
/obj/structure/rack/attack_hulk(mob/living/carbon/human/user)
..(user, 1)
rack_destroy()
return 1
/obj/structure/rack/attack_hand(mob/living/user)
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src, ATTACK_EFFECT_KICK)
user.visible_message("<span class='danger'>[user] kicks [src].</span>", null, null, COMBAT_MESSAGE_RANGE)
take_damage(rand(4,8), BRUTE, "melee", 1)
user.do_attack_animation(src)
user.visible_message("<span class='warning'>[user] kicks [src].</span>", \
"<span class='danger'>You kick [src].</span>")
take_damage(rand(4,8), BRUTE)
/obj/structure/rack/attack_alien(mob/living/user)
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src)
playsound(src.loc, 'sound/weapons/bladeslice.ogg', 50, 1)
visible_message("<span class='warning'>[user] slices [src] apart.</span>")
rack_destroy()
/obj/structure/rack/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0)
/obj/structure/rack/attack_animal(mob/living/simple_animal/user)
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src)
if(user.melee_damage_upper)
if(user.environment_smash)
playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1)
visible_message("<span class='warning'>[user] smashes [src] apart.</span>")
rack_destroy()
else
take_damage(user.melee_damage_upper, user.melee_damage_type)
/obj/structure/rack/attack_tk() // no telehulk sorry
return
/obj/structure/rack/bullet_act(obj/item/projectile/P)
. = ..()
take_damage(P.damage, P.damage_type, 0)
/obj/structure/rack/proc/take_damage(damage, damage_type = BRUTE, sound_effect = 1)
switch(damage_type)
if(BRUTE)
if(damage_amount)
playsound(loc, 'sound/items/dodgeball.ogg', 80, 1)
else
playsound(loc, 'sound/weapons/tap.ogg', 50, 1)
if(sound_effect)
if(damage)
playsound(loc, 'sound/items/dodgeball.ogg', 80, 1)
else
playsound(loc, 'sound/weapons/tap.ogg', 50, 1)
if(BURN)
playsound(loc, 'sound/items/Welder.ogg', 40, 1)
if(sound_effect)
playsound(loc, 'sound/items/Welder.ogg', 40, 1)
else
return
health -= damage
if(health <= 0)
rack_destroy()
/*
* Rack destruction
*/
/obj/structure/rack/deconstruct(disassembled = TRUE)
/obj/structure/rack/proc/rack_destroy()
if(!(flags&NODECONSTRUCT))
density = 0
var/obj/item/weapon/rack_parts/newparts = new(loc)
@@ -486,18 +595,18 @@
/obj/item/weapon/rack_parts/attackby(obj/item/weapon/W, mob/user, params)
if (istype(W, /obj/item/weapon/wrench))
new /obj/item/stack/sheet/metal(user.loc)
new /obj/item/stack/sheet/metal( user.loc )
qdel(src)
return
else
. = ..()
return ..()
/obj/item/weapon/rack_parts/attack_self(mob/user)
user << "<span class='notice'>You start constructing a rack...</span>"
if(do_after(user, 50, target = src, progress=TRUE))
user << "<span class='notice'>You start constructing rack...</span>"
if (do_after(user, 50, target = src))
if(!user.drop_item())
return
var/obj/structure/rack/R = new /obj/structure/rack(user.loc)
user.visible_message("<span class='notice'>[user] assembles \a [R].\
</span>", "<span class='notice'>You assemble \a [R].</span>")
var/obj/structure/rack/R = new /obj/structure/rack( user.loc )
R.add_fingerprint(user)
qdel(src)
return