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:
@@ -1,12 +1,17 @@
|
||||
/obj/structure
|
||||
icon = 'icons/obj/structures.dmi'
|
||||
pressure_resistance = 8
|
||||
obj_integrity = 300
|
||||
max_integrity = 300
|
||||
var/climb_time = 20
|
||||
var/climb_stun = 2
|
||||
var/climbable = FALSE
|
||||
var/mob/structureclimber
|
||||
var/broken = 0 //similar to machinery's stat BROKEN
|
||||
|
||||
/obj/structure/New()
|
||||
if (!armor)
|
||||
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 50)
|
||||
..()
|
||||
if(smooth)
|
||||
queue_smooth(src)
|
||||
@@ -15,28 +20,15 @@
|
||||
if(ticker)
|
||||
cameranet.updateVisibility(src)
|
||||
|
||||
/obj/structure/blob_act(obj/effect/blob/B)
|
||||
if(!density)
|
||||
qdel(src)
|
||||
if(prob(50))
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/Destroy()
|
||||
if(ticker)
|
||||
cameranet.updateVisibility(src)
|
||||
if(opacity)
|
||||
update_light()
|
||||
UpdateAffectingLights()
|
||||
if(smooth)
|
||||
queue_smooth_neighbors(src)
|
||||
return ..()
|
||||
|
||||
/obj/structure/mech_melee_attack(obj/mecha/M)
|
||||
M.do_attack_animation(src)
|
||||
if(M.damtype == BRUTE || M.damtype == BURN)
|
||||
visible_message("<span class='danger'>[M.name] has hit [src].</span>")
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/obj/structure/attack_hand(mob/user)
|
||||
. = ..()
|
||||
add_fingerprint(user)
|
||||
@@ -54,10 +46,6 @@
|
||||
..()
|
||||
add_fingerprint(usr)
|
||||
|
||||
/obj/structure/proc/deconstruct(forced = FALSE)
|
||||
qdel(src)
|
||||
|
||||
|
||||
/obj/structure/MouseDrop_T(atom/movable/O, mob/user)
|
||||
. = ..()
|
||||
if(!climbable)
|
||||
@@ -66,9 +54,9 @@
|
||||
if(user.canmove)
|
||||
climb_structure(user)
|
||||
return
|
||||
if ((!( istype(O, /obj/item/weapon) ) || user.get_active_hand() != O))
|
||||
if ((!( istype(O, /obj/item/weapon) ) || user.get_active_held_item() != O))
|
||||
return
|
||||
if(isrobot(user))
|
||||
if(iscyborg(user))
|
||||
return
|
||||
if(!user.drop_item())
|
||||
return
|
||||
@@ -83,7 +71,7 @@
|
||||
var/adjusted_climb_time = climb_time
|
||||
if(user.restrained()) //climbing takes twice as long when restrained.
|
||||
adjusted_climb_time *= 2
|
||||
if(istype(user, /mob/living/carbon/alien))
|
||||
if(isalien(user))
|
||||
adjusted_climb_time *= 0.25 //aliens are terrifyingly fast
|
||||
structureclimber = user
|
||||
if(do_mob(user, user, adjusted_climb_time))
|
||||
@@ -99,3 +87,26 @@
|
||||
user << "<span class='warning'>You fail to climb onto [src].</span>"
|
||||
density = 1
|
||||
structureclimber = null
|
||||
|
||||
/obj/structure/examine(mob/user)
|
||||
..()
|
||||
if(!(resistance_flags & INDESTRUCTIBLE))
|
||||
if(resistance_flags & ON_FIRE)
|
||||
user << "<span class='warning'>It's on fire!</span>"
|
||||
if(broken)
|
||||
user << "<span class='notice'>It looks broken.</span>"
|
||||
var/examine_status = examine_status()
|
||||
if(examine_status)
|
||||
user << examine_status
|
||||
|
||||
/obj/structure/proc/examine_status() //An overridable proc, mostly for falsewalls.
|
||||
var/healthpercent = (obj_integrity/max_integrity) * 100
|
||||
switch(healthpercent)
|
||||
if(100 to INFINITY)
|
||||
return "It seems pristine and undamaged."
|
||||
if(50 to 100)
|
||||
return "It looks slightly damaged."
|
||||
if(25 to 50)
|
||||
return "It appears heavily damaged."
|
||||
if(0 to 25)
|
||||
return "<span class='warning'>It's falling apart!</span>"
|
||||
|
||||
Reference in New Issue
Block a user