diff --git a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/humanoid/cultist_ch.dm b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/humanoid/cultist_ch.dm new file mode 100644 index 0000000000..fdae87c5ad --- /dev/null +++ b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/humanoid/cultist_ch.dm @@ -0,0 +1,45 @@ +/mob/living/simple_mob/humanoid/cultist/human/bloodjaunt/fireball //Teleporting Cultists, now with fireballs + name = "Burning Mage" + desc = "An indiuval wrapped up in red robes, with orange highlights, their paws glowing.." + icon_state = "fire-fluff" + icon_living = "fire-fluff" + special_attack_min_range = 4 + special_attack_max_range = 7 + special_attack_cooldown = 10 SECONDS + + harm_intent_damage = 5 + melee_damage_lower = 5 + melee_damage_upper = 10 + + ai_holder_type = /datum/ai_holder/simple_mob/ranged + projectiletype = /obj/item/projectile/energy/fireball + +/mob/living/simple_mob/humanoid/cultist/noodle + name = "Converted" + desc = "An indiuval wrapped up in a makeshift rig, made from fallen cultist." + icon_state = "cobra-cultist" + icon_living = "cobra-cultist" + maxHealth = 150 + health = 150 + + faction = "cult" + + status_flags = 0 + + response_help = "pokes" + response_disarm = "shoves" + response_harm = "hits" + + harm_intent_damage = 5 + melee_damage_lower = 15 + melee_damage_upper = 25 + attack_sharp = 1 + attack_edge = 1 + attacktext = list("slashed", "stabbed") + armor = list(melee = 60, bullet = 40, laser = 60, energy = 80, bomb = 25, bio = 100, rad = 100) + attack_sound = 'sound/weapons/rapidslice.ogg' + movement_cooldown = 4 + projectiletype = /obj/item/projectile/energy/plasma/vepr + projectilesound = 'sound/weapons/spiderlunge.ogg' + movement_cooldown = 2 + ai_holder_type = /datum/ai_holder/simple_mob/ranged \ No newline at end of file diff --git a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/occult/constructs/juggernaut.dm b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/occult/constructs/juggernaut.dm new file mode 100644 index 0000000000..dde3353fd5 --- /dev/null +++ b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/occult/constructs/juggernaut.dm @@ -0,0 +1,29 @@ +/mob/living/simple_mob/construct/juggernaut/behemoth/unstoppable + name = "Behemoth" + real_name = "Behemoth" + desc = "The pinnacle of occult technology, Behemoths are nothing shy of both an Immovable Object, and Unstoppable Force." + melee_damage_lower = 45 + melee_damage_upper = 55 + ai_holder_type = /datum/ai_holder/simple_mob/intentional/adv_dark_gygax + projectiletype = /obj/item/projectile/icicle + + +/mob/living/simple_mob/construct/juggernaut/behemoth/unstoppable/bullet_act(var/obj/item/projectile/P) + var/reflectchance = 20 - round(P.damage/3) + if(prob(reflectchance)) + visible_message("The [P.name] gets reflected by [src]'s shell!", \ + "The [P.name] gets reflected by [src]'s shell!") + + // Find a turf near or on the original location to bounce to + if(P.starting) + var/new_x = P.starting.x + pick(0, 0, -1, 1, -2, 2, -2, 2, -2, 2, -3, 3, -3, 3) + var/new_y = P.starting.y + pick(0, 0, -1, 1, -2, 2, -2, 2, -2, 2, -3, 3, -3, 3) + var/turf/curloc = get_turf(src) + + // redirect the projectile + P.redirect(new_x, new_y, curloc, src) + P.reflected = 1 + + return -1 // complete projectile permutation + + return (..(P)) \ No newline at end of file diff --git a/modular_chomp/icons/mob/animal_ch.dmi b/modular_chomp/icons/mob/animal_ch.dmi index ea681533a7..3903fa4530 100644 Binary files a/modular_chomp/icons/mob/animal_ch.dmi and b/modular_chomp/icons/mob/animal_ch.dmi differ