mirror of
https://github.com/quotefox/Hyper-Station-13.git
synced 2026-08-25 13:46:13 +01:00
indecyte + placeholder sprite
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
#define REGENERATION_DELAY 60 // After taking damage, how long it takes for automatic regeneration to begin for megacarps (ty robustin!)
|
||||
|
||||
//Pellucytes are the basic, weak crystals that only have 1 attack, but can heal themselves
|
||||
/mob/living/simple_animal/hostile/crystal
|
||||
name = "pellucyte"
|
||||
desc = "A floating crystal with orbiting smaller crystals."
|
||||
@@ -31,15 +32,19 @@
|
||||
minbodytemp = 0
|
||||
maxbodytemp = 3500
|
||||
blood_volume = 0 //It's a fucking rock
|
||||
faction = list("carp")
|
||||
faction = list("crystal", "weave")
|
||||
movement_type = FLYING
|
||||
pressure_resistance = 500
|
||||
gold_core_spawnable = HOSTILE_SPAWN
|
||||
gold_core_spawnable = NO_SPAWN
|
||||
var/regen_cooldown = 0 //Used for how long it takes before a healing will take place default in 60 seconds
|
||||
var/regen_amount = 1 //How much is healed pre regen cooldown
|
||||
del_on_death = TRUE
|
||||
pixel_x = -8
|
||||
|
||||
//So they will only attack conscious people, leaving them in crit
|
||||
stat_attack = CONSCIOUS
|
||||
stat_exclusive = TRUE
|
||||
|
||||
/mob/living/simple_animal/hostile/crystal/Life()
|
||||
. = ..()
|
||||
if(regen_amount && regen_cooldown < world.time)
|
||||
@@ -65,3 +70,64 @@
|
||||
playsound(src, 'sound/creatures/crystal_death.ogg', 100)
|
||||
new /obj/effect/decal/cleanable/glass(src.loc)
|
||||
return ..()
|
||||
|
||||
//Indecytes are slightly stronger, and will use spikes of crystals to attack enemies.
|
||||
//They are smarter, will search for people in larger radiuses, and seek them out from greater distances.
|
||||
/mob/living/simple_animal/hostile/crystal/large
|
||||
name = "indecyte"
|
||||
desc = "A large resonant crystal thrumming with energy."
|
||||
icon = 'hyperstation/icons/mob/crystal.dmi'
|
||||
icon_state = "indecyte"
|
||||
icon_living = "indecyte"
|
||||
icon_dead = "indecyte"
|
||||
emote_taunt = list("sings", "resonates")
|
||||
attacktext = "punctures"
|
||||
health = 310
|
||||
maxHealth = 310
|
||||
obj_damage = 50
|
||||
speed = 3
|
||||
move_to_delay = 8
|
||||
|
||||
death_sound = 'sound/creatures/crystal_death.ogg'
|
||||
deathmessage = "steadily crashes into the ground, fading out of sight..."
|
||||
|
||||
robust_searching = 1
|
||||
vision_range = 12 //It can see you before you can see it! (default is 9 for on-screen only)
|
||||
aggro_vision_range = 12
|
||||
|
||||
//It prefers to stay at a distance while doing its attacks
|
||||
ranged = 1
|
||||
ranged_cooldown = 30
|
||||
minimum_distance = 2
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/crystal/large/AttackingTarget()
|
||||
return OpenFire()
|
||||
|
||||
/mob/living/simple_animal/hostile/crystal/large/OpenFire()
|
||||
if(ranged_cooldown > world.time)
|
||||
return FALSE
|
||||
ranged_cooldown = world.time + ranged_cooldown_time
|
||||
for(var/i = 1 to 4)
|
||||
var/turf/T = get_step(get_turf(src), pick(1,2,4,5,6,8,9,10))
|
||||
if(T.density)
|
||||
i -= 1
|
||||
continue
|
||||
var/obj/item/projectile/crystal_slash/P = new(T)
|
||||
P.starting = T
|
||||
P.firer = src
|
||||
P.fired_from = T
|
||||
P.yo = target.y - T.y
|
||||
P.xo = target.x - T.x
|
||||
P.original = target
|
||||
P.preparePixelProjectile(target, T)
|
||||
addtimer(CALLBACK (P, .obj/item/projectile/proc/fire), 3)
|
||||
SLEEP_CHECK_DEATH(3)
|
||||
playsound(get_turf(src), 'hyperstation/sound/effects/swoosh.ogg', 50, 0, 4)
|
||||
return
|
||||
|
||||
/mob/living/simple_animal/hostile/crystal/large/death(gibbed)
|
||||
density = FALSE
|
||||
animate(src, alpha = 0, time = 5 SECONDS)
|
||||
QDEL_IN(src, 5 SECONDS)
|
||||
..()
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
/obj/item/projectile/weave
|
||||
name = "coder skill issue"
|
||||
//damage_type = WEAVE
|
||||
armour_penetration = 30
|
||||
//flag = "weave"
|
||||
|
||||
//obj/item/projectile/weave/shatter lambent thing later
|
||||
|
||||
/obj/item/projectile/crystal_slash
|
||||
name = "sharpened crystals"
|
||||
desc = "A quickly-formed lattice crystal, sharp as a blade."
|
||||
icon_state = "ice_2" //Make a sprite for this
|
||||
flag = "bullet" //Set to weave later
|
||||
armour_penetration = 30
|
||||
damage_type = BRUTE
|
||||
damage = 30
|
||||
alpha = 0
|
||||
spread = 20
|
||||
|
||||
/obj/item/projectile/crystal_slash/Initialize()
|
||||
. = ..()
|
||||
hitsound = "hyperstation/sound/weapons/rapier[pick(1,2)].ogg"
|
||||
animate(src, alpha = 255, time = 3)
|
||||
Reference in New Issue
Block a user