mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-12 07:33:34 +01:00
New headcrabs! (#12352)
This commit is contained in:
committed by
variableundefined
parent
b81d5a6b86
commit
4ea66b41ce
@@ -20,8 +20,11 @@
|
||||
#define LOC_GAMBLING_DEN 19
|
||||
|
||||
#define HEADCRAB_NORMAL 0
|
||||
/*#define HEADCRAB_SPECIAL 1
|
||||
#define HEADCRAB_CLOWN 2 */ //Planned for the future
|
||||
#define HEADCRAB_FASTMIX 1
|
||||
#define HEADCRAB_FAST 2
|
||||
#define HEADCRAB_POISONMIX 3
|
||||
#define HEADCRAB_POISON 4
|
||||
/*#define HEADCRAB_CLOWN 5 */ //Planned for the future. maybe
|
||||
|
||||
/datum/event/headcrabs
|
||||
announceWhen = 10
|
||||
@@ -104,11 +107,24 @@
|
||||
|
||||
var/list/spawn_types = list()
|
||||
var/max_number
|
||||
headcrab = 0 //rand(0,x) for the future
|
||||
headcrab = rand(0, 4) //rand(0,x) for the future
|
||||
switch(headcrab) //Switch is for the future
|
||||
if(HEADCRAB_NORMAL)
|
||||
spawn_types = list(/mob/living/simple_animal/hostile/headcrab)
|
||||
max_number = 6
|
||||
if(HEADCRAB_FASTMIX)
|
||||
spawn_types = list(/mob/living/simple_animal/hostile/headcrab, /mob/living/simple_animal/hostile/headcrab/fast)
|
||||
max_number = 8
|
||||
if(HEADCRAB_FAST)
|
||||
spawn_types = list(/mob/living/simple_animal/hostile/headcrab/fast)
|
||||
max_number = 6
|
||||
if(HEADCRAB_POISONMIX)
|
||||
spawn_types = list(/mob/living/simple_animal/hostile/headcrab, /mob/living/simple_animal/hostile/headcrab/poison)
|
||||
max_number = 4
|
||||
if(HEADCRAB_POISON)
|
||||
spawn_types = list(/mob/living/simple_animal/hostile/headcrab/poison)
|
||||
max_number = 3
|
||||
|
||||
|
||||
var/num = rand(2,max_number)
|
||||
while(turfs.len > 0 && num > 0)
|
||||
@@ -144,3 +160,7 @@
|
||||
#undef LOC_GAMBLING_DEN
|
||||
|
||||
#undef HEADCRAB_NORMAL
|
||||
#undef HEADCRAB_FASTMIX
|
||||
#undef HEADCRAB_FAST
|
||||
#undef HEADCRAB_POISONMIX
|
||||
#undef HEADCRAB_POISON
|
||||
@@ -18,7 +18,7 @@
|
||||
attack_sound = 'sound/creatures/headcrab_attack.ogg'
|
||||
speak_emote = list("hisses")
|
||||
var/is_zombie = 0
|
||||
stat_attack = DEAD //so they continue to attack when they are on the ground.
|
||||
stat_attack = DEAD //so they continue to attack when they are on the ground.
|
||||
var/host_species = ""
|
||||
var/list/human_overlays = list()
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/headcrab/update_icons()
|
||||
..()
|
||||
. = ..()
|
||||
if(is_zombie)
|
||||
overlays.Cut()
|
||||
overlays = human_overlays
|
||||
@@ -104,3 +104,69 @@
|
||||
else if(host_species == "Gray")
|
||||
I = image('icons/mob/headcrab.dmi', icon_state = "headcrabpod_gray")
|
||||
overlays += I
|
||||
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/headcrab/fast
|
||||
name = "fast headcrab"
|
||||
desc = "A fast parasitic creature that would like to connect with your brain stem."
|
||||
icon = 'icons/mob/headcrab.dmi'
|
||||
icon_state = "fast_headcrab"
|
||||
icon_living = "fast_headcrab"
|
||||
icon_dead = "fast_headcrab_dead"
|
||||
health = 30
|
||||
maxHealth = 30
|
||||
ranged_cooldown_time = 30
|
||||
jumpdistance = 8
|
||||
jumpspeed = 2
|
||||
speak_emote = list("screech")
|
||||
|
||||
/mob/living/simple_animal/hostile/headcrab/fast/update_icons()
|
||||
. = ..()
|
||||
if(is_zombie)
|
||||
overlays.Cut()
|
||||
overlays = human_overlays
|
||||
var/image/I = image('icons/mob/headcrab.dmi', icon_state = "fast_headcrabpod")
|
||||
if(host_species == "Vox")
|
||||
I = image('icons/mob/headcrab.dmi', icon_state = "fast_headcrabpod_vox")
|
||||
else if(host_species == "Gray")
|
||||
I = image('icons/mob/headcrab.dmi', icon_state = "fast_headcrabpod_gray")
|
||||
overlays += I
|
||||
|
||||
/mob/living/simple_animal/hostile/headcrab/fast/Zombify(mob/living/carbon/human/H)
|
||||
. = ..()
|
||||
speak = list('sound/creatures/fast_zombie_idle1.ogg','sound/creatures/fast_zombie_idle2.ogg','sound/creatures/fast_zombie_idle3.ogg')
|
||||
|
||||
/mob/living/simple_animal/hostile/headcrab/poison
|
||||
name = "poison headcrab"
|
||||
desc = "A poison parasitic creature that would like to connect with your brain stem."
|
||||
icon = 'icons/mob/headcrab.dmi'
|
||||
icon_state = "poison_headcrab"
|
||||
icon_living = "poison_headcrab"
|
||||
icon_dead = "poison_headcrab_dead"
|
||||
health = 60
|
||||
maxHealth = 60
|
||||
ranged_cooldown_time = 50
|
||||
jumpdistance = 3
|
||||
jumpspeed = 1
|
||||
attack_sound = 'sound/creatures/ph_scream1.ogg'
|
||||
speak_emote = list("screech")
|
||||
|
||||
/mob/living/simple_animal/hostile/headcrab/poison/update_icons()
|
||||
. = ..()
|
||||
if(is_zombie)
|
||||
overlays.Cut()
|
||||
overlays = human_overlays
|
||||
var/image/I = image('icons/mob/headcrab.dmi', icon_state = "poison_headcrabpod")
|
||||
if(host_species == "Vox")
|
||||
I = image('icons/mob/headcrab.dmi', icon_state = "poison_headcrabpod_vox")
|
||||
else if(host_species == "Gray")
|
||||
I = image('icons/mob/headcrab.dmi', icon_state = "poison_headcrabpod_gray")
|
||||
overlays += I
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/headcrab/poison/AttackingTarget()
|
||||
. = ..()
|
||||
var/mob/living/carbon/C = target
|
||||
if(C.can_inject(null, 0, "head", 0))
|
||||
C.reagents.add_reagent("lsd", 5)
|
||||
|
||||
Reference in New Issue
Block a user