mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-14 20:23:26 +00:00
Merge pull request #3462 from VOREStation/aro-protbuckle
Fix a few Protean bugs
This commit is contained in:
@@ -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!"
|
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
|
//Constructor allows passing the human to sync damages
|
||||||
/mob/living/simple_animal/protean_blob/New(var/newloc, var/mob/living/carbon/human/H)
|
/mob/living/simple_animal/protean_blob/New(var/newloc, var/mob/living/carbon/human/H)
|
||||||
..()
|
..()
|
||||||
@@ -183,6 +185,8 @@
|
|||||||
if(potentials.len)
|
if(potentials.len)
|
||||||
var/mob/living/target = pick(potentials)
|
var/mob/living/target = pick(potentials)
|
||||||
if(istype(target) && vore_selected)
|
if(istype(target) && vore_selected)
|
||||||
|
if(target.buckled)
|
||||||
|
target.buckled.unbuckle_mob(target, force = TRUE)
|
||||||
target.forceMove(vore_selected)
|
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>")
|
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()
|
/mob/living/carbon/human/proc/nano_intoblob()
|
||||||
if(buckled)
|
if(buckled)
|
||||||
buckled.unbuckle_mob()
|
buckled.unbuckle_mob()
|
||||||
|
if(LAZYLEN(buckled_mobs))
|
||||||
|
for(var/buckledmob in buckled_mobs)
|
||||||
|
unbuckle_mob(buckledmob, force = TRUE)
|
||||||
if(pulledby)
|
if(pulledby)
|
||||||
pulledby.stop_pulling()
|
pulledby.stop_pulling()
|
||||||
stop_pulling()
|
stop_pulling()
|
||||||
@@ -255,6 +262,9 @@
|
|||||||
return
|
return
|
||||||
if(buckled)
|
if(buckled)
|
||||||
buckled.unbuckle_mob()
|
buckled.unbuckle_mob()
|
||||||
|
if(LAZYLEN(buckled_mobs))
|
||||||
|
for(var/buckledmob in buckled_mobs)
|
||||||
|
unbuckle_mob(buckledmob, force = TRUE)
|
||||||
if(pulledby)
|
if(pulledby)
|
||||||
pulledby.stop_pulling()
|
pulledby.stop_pulling()
|
||||||
stop_pulling()
|
stop_pulling()
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
#define DAM_SCALE_FACTOR 0.01
|
#define DAM_SCALE_FACTOR 0.01
|
||||||
|
#define METAL_PER_TICK 150
|
||||||
/datum/species/protean
|
/datum/species/protean
|
||||||
name = "Protean"
|
name = "Protean"
|
||||||
name_plural = "Proteans"
|
name_plural = "Proteans"
|
||||||
@@ -170,15 +171,15 @@
|
|||||||
if(refactory && !(refactory.status & ORGAN_DEAD))
|
if(refactory && !(refactory.status & ORGAN_DEAD))
|
||||||
|
|
||||||
//MHydrogen adds speeeeeed
|
//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)
|
H.add_modifier(/datum/modifier/protean/mhydrogen, origin = refactory)
|
||||||
|
|
||||||
//Plasteel adds brute armor
|
//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)
|
H.add_modifier(/datum/modifier/protean/plasteel, origin = refactory)
|
||||||
|
|
||||||
//Diamond adds burn armor
|
//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)
|
H.add_modifier(/datum/modifier/protean/diamond, origin = refactory)
|
||||||
|
|
||||||
return ..()
|
return ..()
|
||||||
@@ -207,7 +208,7 @@
|
|||||||
// Various modifiers
|
// Various modifiers
|
||||||
/datum/modifier/protean
|
/datum/modifier/protean
|
||||||
stacks = MODIFIER_STACK_FORBID
|
stacks = MODIFIER_STACK_FORBID
|
||||||
var/material_use = 150
|
var/material_use = METAL_PER_TICK
|
||||||
var/material_name = DEFAULT_WALL_MATERIAL
|
var/material_name = DEFAULT_WALL_MATERIAL
|
||||||
|
|
||||||
/datum/modifier/protean/on_applied()
|
/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]"
|
desc += "\nVALID THROUGH END OF: [time2text(world.timeofday, "Month") +" "+ num2text(text2num(time2text(world.timeofday, "YYYY"))+544)]\nREGISTRANT: [new_name]"
|
||||||
|
|
||||||
#undef DAM_SCALE_FACTOR
|
#undef DAM_SCALE_FACTOR
|
||||||
|
#undef METAL_PER_TICK
|
||||||
Reference in New Issue
Block a user