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
+15 -60
View File
@@ -13,76 +13,31 @@
desc = "Looks like this would make good cover."
anchored = 1
density = 1
var/health = 100
var/maxhealth = 100
obj_integrity = 100
max_integrity = 100
var/proj_pass_rate = 50 //How many projectiles will pass the cover. Lower means stronger cover
var/ranged_damage_modifier = 1 //Multiply for ranged damage
var/material = METAL
var/debris_type
/obj/structure/barricade/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(src.loc, 'sound/items/Welder.ogg', 100, 1)
else
damage = 0
health -= damage
if(health <= 0)
/obj/structure/barricade/deconstruct(disassembled = TRUE)
if(!(flags & NODECONSTRUCT))
make_debris()
qdel(src)
qdel(src)
/obj/structure/barricade/proc/make_debris()
return
/obj/structure/barricade/attack_animal(mob/living/simple_animal/M)
M.changeNext_move(CLICK_CD_MELEE)
M.do_attack_animation(src)
if(M.melee_damage_upper == 0 || (M.melee_damage_type != BRUTE && M.melee_damage_type != BURN))
return
visible_message("<span class='danger'>[M] [M.attacktext] [src]!</span>")
add_logs(M, src, "attacked")
take_damage(M.melee_damage_upper)
/obj/structure/barricade/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/weldingtool) && user.a_intent != "harm" && material == METAL)
if(istype(I, /obj/item/weapon/weldingtool) && user.a_intent != INTENT_HARM && material == METAL)
var/obj/item/weapon/weldingtool/WT = I
if(health < maxhealth)
if(obj_integrity < max_integrity)
if(WT.remove_fuel(0,user))
user << "<span class='notice'>You begin repairing [src]...</span>"
playsound(loc, 'sound/items/Welder.ogg', 40, 1)
if(do_after(user, 40/I.toolspeed, target = src))
health = Clamp(health + 20, 0, maxhealth)
playsound(loc, WT.usesound, 40, 1)
if(do_after(user, 40*I.toolspeed, target = src))
obj_integrity = Clamp(obj_integrity + 20, 0, max_integrity)
else
return ..()
/obj/structure/barricade/attacked_by(obj/item/I, mob/living/user)
..()
take_damage(I.force)
/obj/structure/barricade/bullet_act(obj/item/projectile/P)
. = ..()
visible_message("<span class='warning'>\The [src] is hit by [P]!</span>")
take_damage(P.damage*ranged_damage_modifier)
/obj/structure/barricade/ex_act(severity, target)
switch(severity)
if(1)
qdel(src)
if(2)
take_damage(25, BRUTE, 0)
/obj/structure/barricade/blob_act(obj/effect/blob/B)
take_damage(25, BRUTE, 0)
/obj/structure/barricade/CanPass(atom/movable/mover, turf/target, height=0)//So bullets will fly over and stuff.
if(height==0)
return 1
@@ -120,8 +75,8 @@
desc = "Bags of sand. Self explanatory."
icon = 'icons/obj/smooth_structures/sandbags.dmi'
icon_state = "sandbags"
health = 280
maxhealth = 280
obj_integrity = 280
max_integrity = 280
proj_pass_rate = 20
pass_flags = LETPASSTHROW
material = SAND
@@ -137,10 +92,10 @@
icon_state = "barrier0"
density = 0
anchored = 0
health = 180
maxhealth = 180
obj_integrity = 180
max_integrity = 180
proj_pass_rate = 20
ranged_damage_modifier = 0.5
armor = list(melee = 10, bullet = 50, laser = 50, energy = 50, bomb = 10, bio = 100, rad = 100, fire = 10, acid = 0)
/obj/structure/barricade/security/New()