Merge pull request #3462 from VOREStation/aro-protbuckle

Fix a few Protean bugs
This commit is contained in:
Aronai Sieyes
2018-04-14 12:56:30 -04:00
committed by GitHub
2 changed files with 16 additions and 4 deletions

View File

@@ -47,6 +47,8 @@
player_msg = "In this form, you can move a little faster, your health will regenerate as long as you have metal in you, and you can ventcrawl!"
can_buckle = TRUE //Blobsurfing
//Constructor allows passing the human to sync damages
/mob/living/simple_animal/protean_blob/New(var/newloc, var/mob/living/carbon/human/H)
..()
@@ -183,6 +185,8 @@
if(potentials.len)
var/mob/living/target = pick(potentials)
if(istype(target) && vore_selected)
if(target.buckled)
target.buckled.unbuckle_mob(target, force = TRUE)
target.forceMove(vore_selected)
to_chat(target,"<span class='warning'>\The [src] quickly engulfs you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!</span>")
@@ -211,6 +215,9 @@
/mob/living/carbon/human/proc/nano_intoblob()
if(buckled)
buckled.unbuckle_mob()
if(LAZYLEN(buckled_mobs))
for(var/buckledmob in buckled_mobs)
unbuckle_mob(buckledmob, force = TRUE)
if(pulledby)
pulledby.stop_pulling()
stop_pulling()
@@ -255,6 +262,9 @@
return
if(buckled)
buckled.unbuckle_mob()
if(LAZYLEN(buckled_mobs))
for(var/buckledmob in buckled_mobs)
unbuckle_mob(buckledmob, force = TRUE)
if(pulledby)
pulledby.stop_pulling()
stop_pulling()

View File

@@ -1,4 +1,5 @@
#define DAM_SCALE_FACTOR 0.01
#define METAL_PER_TICK 150
/datum/species/protean
name = "Protean"
name_plural = "Proteans"
@@ -170,15 +171,15 @@
if(refactory && !(refactory.status & ORGAN_DEAD))
//MHydrogen adds speeeeeed
if(refactory.get_stored_material("mhydrogen") >= 100)
if(refactory.get_stored_material("mhydrogen") >= METAL_PER_TICK)
H.add_modifier(/datum/modifier/protean/mhydrogen, origin = refactory)
//Plasteel adds brute armor
if(refactory.get_stored_material("plasteel") >= 100)
if(refactory.get_stored_material("plasteel") >= METAL_PER_TICK)
H.add_modifier(/datum/modifier/protean/plasteel, origin = refactory)
//Diamond adds burn armor
if(refactory.get_stored_material("diamond") >= 100)
if(refactory.get_stored_material("diamond") >= METAL_PER_TICK)
H.add_modifier(/datum/modifier/protean/diamond, origin = refactory)
return ..()
@@ -207,7 +208,7 @@
// Various modifiers
/datum/modifier/protean
stacks = MODIFIER_STACK_FORBID
var/material_use = 150
var/material_use = METAL_PER_TICK
var/material_name = DEFAULT_WALL_MATERIAL
/datum/modifier/protean/on_applied()
@@ -303,3 +304,4 @@
desc += "\nVALID THROUGH END OF: [time2text(world.timeofday, "Month") +" "+ num2text(text2num(time2text(world.timeofday, "YYYY"))+544)]\nREGISTRANT: [new_name]"
#undef DAM_SCALE_FACTOR
#undef METAL_PER_TICK