Works on New Blob

This commit is contained in:
Neerti
2017-11-05 12:38:18 -05:00
parent 50d3710cbf
commit acb208dd3f
54 changed files with 1947 additions and 38 deletions
+1 -1
View File
@@ -140,7 +140,7 @@ note dizziness decrements automatically in the mob's Life() proc.
//reset the pixel offsets to zero
is_floating = 0
/mob/proc/do_attack_animation(mob/M)
/atom/movable/proc/do_attack_animation(mob/M)
var/pixel_x_diff = 0
var/pixel_y_diff = 0
+6
View File
@@ -239,6 +239,7 @@ default behaviour is:
amount *= M.incoming_healing_percent
bruteloss = min(max(bruteloss + amount, 0),(getMaxHealth()*2))
updatehealth()
/mob/living/proc/getOxyLoss()
return oxyloss
@@ -258,6 +259,7 @@ default behaviour is:
amount *= M.incoming_healing_percent
oxyloss = min(max(oxyloss + amount, 0),(getMaxHealth()*2))
updatehealth()
/mob/living/proc/setOxyLoss(var/amount)
if(status_flags & GODMODE) return 0 //godmode
@@ -281,6 +283,7 @@ default behaviour is:
amount *= M.incoming_healing_percent
toxloss = min(max(toxloss + amount, 0),(getMaxHealth()*2))
updatehealth()
/mob/living/proc/setToxLoss(var/amount)
if(status_flags & GODMODE) return 0 //godmode
@@ -309,6 +312,7 @@ default behaviour is:
amount *= M.incoming_healing_percent
fireloss = min(max(fireloss + amount, 0),(getMaxHealth()*2))
updatehealth()
/mob/living/proc/getCloneLoss()
return cloneloss
@@ -328,6 +332,7 @@ default behaviour is:
amount *= M.incoming_healing_percent
cloneloss = min(max(cloneloss + amount, 0),(getMaxHealth()*2))
updatehealth()
/mob/living/proc/setCloneLoss(var/amount)
if(status_flags & GODMODE) return 0 //godmode
@@ -362,6 +367,7 @@ default behaviour is:
if(!isnull(M.incoming_healing_percent))
amount *= M.incoming_healing_percent
halloss = min(max(halloss + amount, 0),(getMaxHealth()*2))
updatehealth()
/mob/living/proc/setHalLoss(var/amount)
if(status_flags & GODMODE) return 0 //godmode
+37
View File
@@ -162,6 +162,43 @@
O.emp_act(severity)
..()
/mob/living/blob_act(var/obj/structure/blob/B)
if(stat == DEAD)
return
var/damage = rand(30, 40)
var/armor_pen = 0
var/armor_check = "melee"
var/damage_type = BRUTE
var/attack_message = "The blob attacks you!"
var/attack_verb = "attacks"
var/def_zone = pick(BP_HEAD, BP_TORSO, BP_GROIN, BP_L_ARM, BP_R_ARM, BP_L_LEG, BP_R_LEG)
if(B && B.overmind)
var/datum/blob_type/blob = B.overmind.blob_type
damage = rand(blob.damage_lower, blob.damage_upper)
armor_check = blob.armor_check
armor_pen = blob.armor_pen
damage_type = blob.damage_type
attack_message = "[blob.attack_message][isSynthetic() ? "[blob.attack_message_synth]":"[blob.attack_message_living]"]"
attack_verb = blob.attack_verb
B.overmind.blob_type.on_attack(B, src, def_zone)
if( (damage_type == TOX || damage_type == OXY) && isSynthetic()) // Borgs and FBPs don't really handle tox/oxy damage the same way other mobs do.
damage_type = BRUTE
damage *= 0.66 // Take 2/3s as much damage.
visible_message("<span class='danger'>\The [B] [attack_verb] \the [src]!</span>", "<span class='danger'>[attack_message]!</span>")
playsound(loc, 'sound/effects/attackblob.ogg', 50, 1)
//Armor
var/soaked = get_armor_soak(def_zone, armor_check, armor_pen)
var/absorb = run_armor_check(def_zone, armor_check, armor_pen)
apply_damage(damage, damage_type, def_zone, absorb, soaked)
/mob/living/proc/resolve_item_attack(obj/item/I, mob/living/user, var/target_zone)
return target_zone
-2
View File
@@ -104,8 +104,6 @@
var/cpr_time = 1.0//Carbon
var/bodytemperature = 310.055 //98.7 F
var/old_x = 0
var/old_y = 0
var/drowsyness = 0.0//Carbon
var/charges = 0.0
var/nutrition = 400.0//Carbon