mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-20 19:44:09 +01:00
@@ -15,8 +15,8 @@
|
||||
melee_damage_lower = 6
|
||||
melee_damage_upper = 10
|
||||
melee_damage_type = BURN
|
||||
melee_attack_cooldown_min = 1.5 SECONDS
|
||||
melee_attack_cooldown_max = 2.5 SECONDS
|
||||
melee_attack_cooldown_min = 0.75 SECONDS
|
||||
melee_attack_cooldown_max = 1.25 SECONDS
|
||||
a_intent = INTENT_HARM
|
||||
damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0)
|
||||
mob_size = MOB_SIZE_SMALL
|
||||
@@ -43,6 +43,8 @@
|
||||
is_ranged = TRUE
|
||||
projectile_type = /obj/projectile/beam/disabler
|
||||
projectile_sound = 'sound/weapons/taser2.ogg'
|
||||
ranged_burst_count = 2
|
||||
ranged_burst_interval = 0.5 SECONDS
|
||||
ranged_cooldown = 1 SECONDS
|
||||
ai_controller = /datum/ai_controller/basic_controller/swarmer
|
||||
see_in_dark = 6
|
||||
@@ -147,6 +149,9 @@
|
||||
if(L.stat == DEAD)
|
||||
disintegrate_mob(target)
|
||||
return FALSE
|
||||
if(isslime(target))
|
||||
disintegrate_mob(target)
|
||||
return FALSE
|
||||
if(iscarbon(target))
|
||||
var/mob/living/carbon/C = target
|
||||
if((!C.IsWeakened()))
|
||||
@@ -177,6 +182,11 @@
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
/mob/living/basic/swarmer/CanPass(atom/movable/O)
|
||||
if(istype(O, /obj/projectile/beam/disabler))
|
||||
return TRUE
|
||||
return ..()
|
||||
|
||||
/mob/living/basic/swarmer/proc/disintegrate_wall(turf/simulated/wall/target)
|
||||
if(istype(target, /turf/simulated/wall/indestructible))
|
||||
ai_controller.clear_blackboard_key(BB_BASIC_MOB_CURRENT_TARGET)
|
||||
@@ -233,7 +243,7 @@
|
||||
REMOVE_TRAIT(target, TRAIT_SWARMER_DISINTEGRATING, src)
|
||||
resources = clamp(resources + 50, 0, resource_max)
|
||||
adjustHealth(-40)
|
||||
if(isanimal_or_basicmob(target) || issilicon(target)) // Not crew? Are a silicon? Don't care.
|
||||
if((isanimal_or_basicmob(target) || issilicon(target)) && !isslime(target)) // Not crew? Are a silicon? Don't care.
|
||||
target.gib()
|
||||
ai_controller.clear_blackboard_key(BB_BASIC_MOB_CURRENT_TARGET)
|
||||
return
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
planning_subtrees = list(
|
||||
/datum/ai_planning_subtree/simple_find_target,
|
||||
/datum/ai_planning_subtree/target_retaliate/check_faction,
|
||||
/datum/ai_planning_subtree/ranged_skirmish/avoid_friendly,
|
||||
/datum/ai_planning_subtree/ranged_skirmish,
|
||||
/datum/ai_planning_subtree/attack_obstacle_in_path/avoid_breaches/walls,
|
||||
/datum/ai_planning_subtree/basic_melee_attack_subtree,
|
||||
/datum/ai_planning_subtree/swarmer_replicate,
|
||||
@@ -34,7 +34,7 @@
|
||||
planning_subtrees = list(
|
||||
/datum/ai_planning_subtree/simple_find_target,
|
||||
/datum/ai_planning_subtree/target_retaliate/check_faction,
|
||||
/datum/ai_planning_subtree/ranged_skirmish/avoid_friendly,
|
||||
/datum/ai_planning_subtree/ranged_skirmish,
|
||||
/datum/ai_planning_subtree/attack_obstacle_in_path/avoid_breaches/walls,
|
||||
/datum/ai_planning_subtree/basic_melee_attack_subtree,
|
||||
/datum/ai_planning_subtree/swarmer_find_construction_target,
|
||||
|
||||
Reference in New Issue
Block a user