Adds clowns. Lots and lots of clowns
This commit is contained in:
SweetBlueSylveon
2020-06-11 21:30:39 -07:00
parent d52aefa12b
commit d3e5e2beb1
11 changed files with 343 additions and 0 deletions
@@ -0,0 +1,44 @@
/mob/living/simple_mob/mobs_monsters/clowns/big
tt_desc = "E Homo sapiens corydon horrificus" //this clown is stronk
faction = "clown"
maxHealth = 200
health = 200
see_in_dark = 8
melee_damage_lower = 15
melee_damage_upper = 35
attack_armor_pen = 5
attack_sharp = FALSE
attack_edge = FALSE
melee_attack_delay = 1 SECOND
attacktext = list("mauled")
ai_holder_type = /datum/ai_holder/simple_mob/melee/clowns
loot_list = list(/obj/item/weapon/bikehorn = 100)
/mob/living/simple_mob/mobs_monsters/clowns/big
min_oxy = 0
max_oxy = 500
min_tox = 0
max_tox = 500
min_co2 = 0
max_co2 = 500
min_n2 = 0
max_n2 = 500
minbodytemp = 0
maxbodytemp = 700
/datum/ai_holder/simple_mob/melee/clowns
can_breakthrough = TRUE
violent_breakthrough = FALSE
hostile = TRUE // The majority of simplemobs are hostile, gaslamps are nice.
cooperative = FALSE
retaliate = TRUE //so the monster can attack back
returns_home = FALSE
can_flee = FALSE
speak_chance = 3
wander = TRUE
base_wander_delay = 9
@@ -0,0 +1,38 @@
/mob/living/simple_mob/mobs_monsters/clowns/
tt_desc = "E Homo sapiens corydon" //this is a clown
faction = "clown"
maxHealth = 100
health = 100
see_in_dark = 8
melee_damage_lower = 5
melee_damage_upper = 30
ai_holder_type = /datum/ai_holder/simple_mob/melee/clowns
loot_list = list(/obj/item/weapon/bikehorn = 100)
min_oxy = 0
max_oxy = 0
min_tox = 0
max_tox = 0
min_co2 = 0
max_co2 = 0
min_n2 = 0
max_n2 = 0
minbodytemp = 0
maxbodytemp = 700
/datum/ai_holder/simple_mob/melee/clowns
can_breakthrough = FALSE
violent_breakthrough = FALSE
hostile = FALSE // The majority of simplemobs are hostile, gaslamps are nice.
cooperative = FALSE
retaliate = TRUE //so the monster can attack back
returns_home = FALSE
can_flee = FALSE
speak_chance = 3
wander = TRUE
base_wander_delay = 9
@@ -0,0 +1,77 @@
/mob/living/simple_mob/mobs_monsters/clowns/normal
name = "Clown"
desc = "A regular, every tuesday Clown."
tt_desc = "E Homo sapiens corydon" //this is a clown
icon = 'icons/mob/mobs_monsters/newclowns.dmi'
icon_state = "c_normal"
icon_living = "c_normal"
icon_dead = "clown_dead"
icon_gib = "generic_gib"
faction = "clown"
loot_list = list(/obj/item/weapon/bikehorn = 100)
response_help = "pokes"
response_disarm = "gently pushes aside"
response_harm = "hits"
say_list_type = /datum/say_list/clown
/datum/say_list/clown
speak = list("HONK", "Honk!", "Henk!")
emote_see = list("honks")
/mob/living/simple_mob/mobs_monsters/clowns/big/honkmunculus
name = "A Clown?"
desc = "That clown has some interesting proportions."
tt_desc = "E Homo sapiens corydon horrificus" //this is a redspace clown
icon = 'icons/mob/mobs_monsters/TGClowns.dmi'
icon_state = "honkmunculus"
icon_living = "honkmunculus"
icon_dead = "honkmunculus_dead"
icon_gib = "generic_gib"
faction = "clown"
loot_list = list(/obj/item/weapon/bikehorn = 100)
response_help = "pokes"
response_disarm = "gently pushes aside"
response_harm = "hits"
say_list_type = /datum/say_list/clown
/datum/say_list/clown
speak = list("HONK", "Honk!", "Henk!")
emote_see = list("honks")
/mob/living/simple_mob/mobs_monsters/clowns/big/cluwne
name = "A Clown?"
desc = "Oh no not that thing."
tt_desc = "E Homo sapiens corydon horrificus" //this is a redspace clown
icon = 'icons/mob/mobs_monsters/newclowns.dmi'
icon_state = "cluwne"
icon_living = "cluwne"
icon_dead = "cluwne_dead"
icon_gib = "generic_gib"
faction = "clown"
loot_list = list(/obj/item/weapon/bikehorn = 100)
response_help = "pokes"
response_disarm = "gently pushes aside"
response_harm = "hits"
say_list_type = /datum/say_list/clown
/datum/say_list/clown
speak = list("HONK", "Honk!", "Henk!")
emote_see = list("honks")
@@ -0,0 +1,7 @@
/mob/living/simple_mob/mobs_monsters/clowns/big/c_shift
tt_desc = "E Homo sapiens corydon xenos" //this is a redspace clown
faction = "clown"
/mob/living/simple_mob/mobs_monsters/clowns/big/c_shift/New()
..()
verbs += /mob/living/simple_mob/mobs_monsters/clowns/big/c_shift/proc/phase_shift
@@ -0,0 +1,76 @@
/mob/living/simple_mob/mobs_monsters/clowns/big/c_shift/anormal
name = "Clown"
desc = "A regular, every tuesday Clown."
tt_desc = "E Homo sapiens corydon" //this is a clown
icon = 'icons/mob/mobs_monsters/newclowns.dmi'
icon_state = "c_normal"
icon_living = "c_normal"
icon_dead = "clown_dead"
icon_gib = "generic_gib"
faction = "clown"
loot_list = list(/obj/item/weapon/bikehorn = 100)
response_help = "pokes"
response_disarm = "gently pushes aside"
response_harm = "hits"
say_list_type = /datum/say_list/clown
/datum/say_list/clown
speak = list("HONK", "Honk!", "Henk!")
emote_see = list("honks")
/mob/living/simple_mob/mobs_monsters/clowns/big/c_shift/honkmunculus
name = "A Clown?"
desc = "That clown has some interesting proportions."
tt_desc = "E Homo sapiens corydon horrificus" //this is a redspace clown
icon = 'icons/mob/mobs_monsters/TGClowns.dmi'
icon_state = "honkmunculus"
icon_living = "honkmunculus"
icon_dead = "honkmunculus_dead"
icon_gib = "generic_gib"
faction = "clown"
loot_list = list(/obj/item/weapon/bikehorn = 100)
response_help = "pokes"
response_disarm = "gently pushes aside"
response_harm = "hits"
say_list_type = /datum/say_list/clown
/datum/say_list/clown
speak = list("HONK", "Honk!", "Henk!")
emote_see = list("honks")
/mob/living/simple_mob/mobs_monsters/clowns/big/c_shift/cluwne
name = "A Clown?"
desc = "Oh no not that thing."
tt_desc = "E Homo sapiens corydon horrificus" //this is a redspace clown
icon = 'icons/mob/mobs_monsters/newclowns.dmi'
icon_state = "cluwne"
icon_living = "cluwne"
icon_dead = "cluwne_dead"
icon_gib = "generic_gib"
faction = "clown"
loot_list = list(/obj/item/weapon/bikehorn = 100)
response_help = "pokes"
response_disarm = "gently pushes aside"
response_harm = "hits"
say_list_type = /datum/say_list/clown
/datum/say_list/clown
speak = list("HONK", "Honk!", "Henk!")
emote_see = list("honks")
@@ -0,0 +1,95 @@
/mob/living/simple_mob/mobs_monsters/clowns/big/c_shift
var/ability_flags = 0 //Flags for active abilities
// Phase shifting procs (and related procs)
/mob/living/simple_mob/mobs_monsters/clowns/big/c_shift/proc/phase_shift()
var/turf/T = get_turf(src)
if(!T.CanPass(src,T) || loc != T)
to_chat(src,"<span class='warning'>You can't use that here!</span>")
return FALSE
forceMove(T)
var/original_canmove = canmove
SetStunned(0)
SetWeakened(0)
if(buckled)
buckled.unbuckle_mob()
if(pulledby)
pulledby.stop_pulling()
stop_pulling()
canmove = FALSE
//Shifting in
if(ability_flags & AB_PHASE_SHIFTED)
ability_flags &= ~AB_PHASE_SHIFTED
mouse_opacity = 2
name = real_name
overlays.Cut()
alpha = initial(alpha)
invisibility = initial(invisibility)
see_invisible = initial(see_invisible)
incorporeal_move = initial(incorporeal_move)
density = initial(density)
force_max_speed = initial(force_max_speed)
//Cosmetics mostly
flick("tp_in",src)
custom_emote(1,"phases in!")
sleep(5) //The duration of the TP animation
canmove = original_canmove
// Do this after the potential vore, so we get the belly
update_icon()
//Affect nearby lights
for(var/obj/machinery/light/L in machines)
if(L.z != z || get_dist(src,L) > 10)
continue
L.flicker(10)
//Shifting out
else
ability_flags |= AB_PHASE_SHIFTED
mouse_opacity = 0
custom_emote(1,"phases out!")
real_name = name
name = "Something"
overlays.Cut()
flick("tp_out",src)
sleep(5)
invisibility = INVISIBILITY_LEVEL_TWO
see_invisible = INVISIBILITY_LEVEL_TWO
update_icon()
alpha = 127
canmove = original_canmove
incorporeal_move = TRUE
density = FALSE
force_max_speed = TRUE
/mob/living/simple_mob/mobs_monsters/clowns/big/c_shift/UnarmedAttack()
if(ability_flags & AB_PHASE_SHIFTED)
return FALSE //Nope.
. = ..()
/mob/living/simple_mob/mobs_monsters/clowns/big/c_shift/can_fall()
if(ability_flags & AB_PHASE_SHIFTED)
return FALSE //Nope!
return ..()
/mob/living/simple_mob/mobs_monsters/clowns/big/c_shift/zMove(direction)
if(ability_flags & AB_PHASE_SHIFTED)
var/turf/destination = (direction == UP) ? GetAbove(src) : GetBelow(src)
if(destination)
forceMove(destination)
return TRUE
return ..()