The Honkening

This commit is contained in:
TheDZD
2016-07-07 21:35:19 -04:00
parent 1b2d8b317f
commit 52e6df894e
23 changed files with 200 additions and 19 deletions
+86
View File
@@ -0,0 +1,86 @@
/obj/effect/proc_holder/spell/targeted/touch/cluwne
name = "Curse of the Cluwne"
desc = "Turns the target into a fat and cursed monstrosity of a clown."
hand_path = /obj/item/weapon/melee/touch_attack/cluwne
school = "transmutation"
charge_max = 600
clothes_req = 1
cooldown_min = 200 //100 deciseconds reduction per rank
action_icon_state = "clown"
/mob/living/carbon/human/proc/makeCluwne()
to_chat(src, "<span class='danger'>You feel funny.</span>")
adjustBrainLoss(80)
nutrition = 9000
confused = 120
if(mind)
mind.assigned_role = "Cluwne"
var/obj/item/organ/internal/honktumor/cursed/tumor = new
tumor.insert(src)
mutations.Add(NERVOUS)
dna.SetSEState(NERVOUSBLOCK, 1, 1)
genemutcheck(src, NERVOUSBLOCK, null, MUTCHK_FORCED)
animate_clownspell(src)
unEquip(w_uniform, 1)
unEquip(shoes, 1)
unEquip(gloves, 1)
if(!istype(wear_mask, /obj/item/clothing/mask/cursedclown)) //Infinite loops otherwise
unEquip(wear_mask, 1)
equip_to_slot_if_possible(new /obj/item/clothing/under/cursedclown, slot_w_uniform, 1, 1, 1)
equip_to_slot_if_possible(new /obj/item/clothing/gloves/cursedclown, slot_gloves, 1, 1, 1)
equip_to_slot_if_possible(new /obj/item/clothing/mask/cursedclown, slot_wear_mask, 1, 1, 1)
equip_to_slot_if_possible(new /obj/item/clothing/shoes/cursedclown, slot_shoes, 1, 1, 1)
real_name = "cluwne"
/mob/living/carbon/human/proc/makeAntiCluwne()
to_chat(src, "<span class='danger'>You don't feel very funny.</span>")
adjustBrainLoss(-120)
nutrition = NUTRITION_LEVEL_STARVING
confused = 0
jitteriness = 0
if(mind)
mind.assigned_role = "Lawyer"
var/obj/item/organ/internal/honktumor/cursed/tumor = get_int_organ(/obj/item/organ/internal/honktumor/cursed)
if(tumor)
tumor.remove(src, clean_remove = 1)
qdel(tumor)
else
mutations.Remove(CLUMSY)
mutations.Remove(COMICBLOCK)
dna.SetSEState(CLUMSYBLOCK,0)
dna.SetSEState(COMICBLOCK,0)
genemutcheck(src, CLUMSYBLOCK, null, MUTCHK_FORCED)
genemutcheck(src, COMICBLOCK, null, MUTCHK_FORCED)
mutations.Remove(NERVOUS)
dna.SetSEState(NERVOUSBLOCK, 0)
genemutcheck(src, NERVOUSBLOCK, null, MUTCHK_FORCED)
animate_clownspell(src)
var/obj/item/clothing/under/U = w_uniform
unEquip(w_uniform, 1)
if(U)
qdel(U)
var/obj/item/clothing/shoes/S = shoes
unEquip(shoes, 1)
if(S)
qdel(S)
if(istype(wear_mask, /obj/item/clothing/mask/cursedclown))
unEquip(wear_mask, 1)
if(istype(gloves, /obj/item/clothing/gloves/cursedclown))
var/obj/item/clothing/gloves/G = gloves
unEquip(gloves, 1)
qdel(G)
equip_to_slot_if_possible(new /obj/item/clothing/under/lawyer/black, slot_w_uniform, 1, 1, 1)
equip_to_slot_if_possible(new /obj/item/clothing/shoes/black, slot_shoes, 1, 1, 1)
+5 -5
View File
@@ -1,5 +1,5 @@
/obj/effect/proc_holder/spell/targeted/touch/
var/hand_path = "/obj/item/weapon/melee/touch_attack"
/obj/effect/proc_holder/spell/targeted/touch
var/hand_path = /obj/item/weapon/melee/touch_attack
var/obj/item/weapon/melee/touch_attack/attached_hand = null
invocation_type = "none" //you scream on connecting, not summoning
include_user = 1
@@ -47,7 +47,7 @@
/obj/effect/proc_holder/spell/targeted/touch/disintegrate
name = "Disintegrate"
desc = "This spell charges your hand with vile energy that can be used to violently explode victims."
hand_path = "/obj/item/weapon/melee/touch_attack/disintegrate"
hand_path = /obj/item/weapon/melee/touch_attack/disintegrate
school = "evocation"
charge_max = 600
@@ -59,11 +59,11 @@
/obj/effect/proc_holder/spell/targeted/touch/flesh_to_stone
name = "Flesh to Stone"
desc = "This spell charges your hand with the power to turn victims into inert statues for a long period of time."
hand_path = "/obj/item/weapon/melee/touch_attack/fleshtostone"
hand_path = /obj/item/weapon/melee/touch_attack/fleshtostone
school = "transmutation"
charge_max = 600
clothes_req = 1
cooldown_min = 200 //100 deciseconds reduction per rank
action_icon_state = "statue"
action_icon_state = "statue"
+32 -4
View File
@@ -33,7 +33,7 @@
qdel(src)
/obj/item/weapon/melee/touch_attack/disintegrate
name = "\improper disintegrating touch"
name = "disintegrating touch"
desc = "This hand of mine glows with an awesome power!"
catchphrase = "EI NATH!!"
on_use_sound = "sound/magic/Disintegrate.ogg"
@@ -51,7 +51,7 @@
..()
/obj/item/weapon/melee/touch_attack/fleshtostone
name = "\improper petrifying touch"
name = "petrifying touch"
desc = "That's the bottom line, because flesh to stone said so!"
catchphrase = "STAUN EI!!"
on_use_sound = "sound/magic/FleshToStone.ogg"
@@ -78,10 +78,38 @@
item_state = "disintegrate"
/obj/item/weapon/melee/touch_attack/fake_disintegrate/afterattack(atom/target, mob/living/carbon/user, proximity)
if(!proximity || target == user || !ismob(target) || !iscarbon(user) || user.lying || user.handcuffed) //exploding after touching yourself would be bad
if(!proximity || target == user || !ismob(target) || !iscarbon(user) || user.lying || user.handcuffed) //not exploding after touching yourself would be bad
return
var/datum/effect/system/spark_spread/sparks = new
sparks.set_up(4, 0, target.loc) //no idea what the 0 is
sparks.start()
playsound(target.loc, 'sound/goonstation/effects/gib.ogg', 50, 1)
..()
..()
/obj/item/weapon/melee/touch_attack/cluwne
name = "cluwne touch"
desc = "It's time to start clowning around."
catchphrase = "NWOLC EGNEVER"
on_use_sound = "sound/misc/sadtrombone.ogg"
icon_state = "cluwnecurse"
item_state = "cluwnecurse"
/obj/item/weapon/melee/touch_attack/cluwne/afterattack(atom/target, mob/living/carbon/user, proximity)
if(!proximity || target == user || !ishuman(target) || !iscarbon(user) || user.lying || user.handcuffed) //clowning around after touching yourself would unsurprisingly, be bad
return
if(iswizard(target))
to_chat(user, "<span class='warning'>The spell has no effect on [target].</span>")
return
var/datum/effect/system/harmless_smoke_spread/s = new /datum/effect/system/harmless_smoke_spread
s.set_up(5, 0, target)
s.start()
var/mob/living/carbon/human/H = target
if(H.mind)
if(H.mind.assigned_role != "Cluwne")
H.makeCluwne()
else
H.makeAntiCluwne()
..()
+6 -1
View File
@@ -233,6 +233,11 @@
category = "Assistance"
cost = 1
/datum/spellbook_entry/cluwne
name = "Curse of the Cluwne"
spell_type = /obj/effect/proc_holder/spell/targeted/touch/cluwne
log_name = "CC"
/datum/spellbook_entry/item
name = "Buy Item"
refundable = 0
@@ -857,4 +862,4 @@
spell = /obj/effect/proc_holder/spell/targeted/touch/fake_disintegrate
spellname = "disintegrate"
icon_state ="bookfireball"
desc = "This book feels like it will rip stuff apart."
desc = "This book feels like it will rip stuff apart."
@@ -47,4 +47,11 @@
name = "batgloves"
icon_state = "bmgloves"
item_state = "bmgloves"
item_color="bmgloves"
item_color="bmgloves"
/obj/item/clothing/gloves/cursedclown
name = "cursed white gloves"
desc = "These things smell terrible, and they're all lumpy. Gross."
icon_state = "latex"
item_state = "lgloves"
flags = NODROP
@@ -275,3 +275,28 @@ obj/item/clothing/mask/bandana/purple
icon_state = "bandblack"
item_color = "black"
desc = "It's a black bandana."
/obj/item/clothing/mask/cursedclown
name = "cursed clown mask"
desc = "This is a very, very odd looking mask."
icon = 'icons/goonstation/objects/clothing/mask.dmi'
icon_state = "cursedclown"
item_state = "cclown_hat"
icon_override = 'icons/goonstation/mob/clothing/mask.dmi'
lefthand_file = 'icons/goonstation/mob/inhands/clothing_lefthand.dmi'
righthand_file = 'icons/goonstation/mob/inhands/clothing_righthand.dmi'
flags = NODROP
/obj/item/clothing/mask/cursedclown/equipped(mob/user, slot)
..()
var/mob/living/carbon/human/H = user
if(istype(H) && slot == slot_wear_mask)
to_chat(H, "<span class='danger'>[src] grips your face!</span>")
if(H.mind && H.mind.assigned_role != "Cluwne")
H.makeCluwne()
/obj/item/clothing/mask/cursedclown/suicide_act(mob/user)
user.visible_message("<span class='danger'>[user] gazes into the eyes of [src]. [src] gazes back!</span>")
spawn(10)
user.gib()
return BRUTELOSS
@@ -207,3 +207,13 @@
item_color = "fancysandal"
species_restricted = null
/obj/item/clothing/shoes/cursedclown
name = "cursed clown shoes"
desc = "Moldering clown flip flops. They're neon green for some reason."
icon = 'icons/goonstation/objects/clothing/feet.dmi'
icon_state = "cursedclown"
item_state = "cclown_shoes"
icon_override = 'icons/goonstation/mob/clothing/feet.dmi'
lefthand_file = 'icons/goonstation/mob/inhands/clothing_lefthand.dmi'
righthand_file = 'icons/goonstation/mob/inhands/clothing_righthand.dmi'
flags = NODROP
+1 -1
View File
@@ -657,4 +657,4 @@
if(user.reagents.get_reagent_amount("syndicate_nanites") < 15)
user.reagents.add_reagent("syndicate_nanites", 15)
else
processing_objects.Remove(src)
processing_objects.Remove(src)
@@ -709,3 +709,15 @@
to_chat(user,"<span class='warning'>You can't fit inside while wearing that \the [user.get_item_by_slot(slot_id)].</span>")
return 0
return 1
/obj/item/clothing/under/cursedclown
name = "cursed clown suit"
desc = "It wasn't already?"
icon = 'icons/goonstation/objects/clothing/uniform.dmi'
icon_state = "cursedclown"
item_state = "cclown_uniform"
item_color = "cursedclown"
icon_override = 'icons/goonstation/mob/clothing/uniform.dmi'
lefthand_file = 'icons/goonstation/mob/inhands/clothing_lefthand.dmi'
righthand_file = 'icons/goonstation/mob/inhands/clothing_righthand.dmi'
flags = NODROP
+14 -7
View File
@@ -476,13 +476,21 @@
var/mob/living/carbon/human/H = owner
if(isobj(H.shoes))
var/thingy = H.shoes
H.unEquip(H.shoes)
walk_away(thingy,H,15,2)
spawn(20)
if(thingy)
walk(thingy,0)
if(H.unEquip(H.shoes))
walk_away(thingy,H,15,2)
spawn(20)
if(thingy)
walk(thingy,0)
..()
/obj/item/organ/internal/honktumor/cursed
/obj/item/organ/internal/honktumor/cursed/remove(mob/living/carbon/M, special = 0, clean_remove = 0)
..()
if(!clean_remove)
insert(M) //You're not getting away that easily!
else
qdel(src)
/obj/item/organ/internal/beard
name = "beard organ"
@@ -493,7 +501,6 @@
parent_organ = "head"
slot = "hair_organ"
/obj/item/organ/internal/beard/on_life()
if(!owner)
@@ -516,4 +523,4 @@
head_organ.r_facial = 216
head_organ.g_facial = 192
head_organ.b_facial = 120
H.update_fhair()
H.update_fhair()
Binary file not shown.

After

Width:  |  Height:  |  Size: 357 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 930 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 718 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 656 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 653 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 292 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 307 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 346 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 166 KiB

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 163 KiB

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 56 KiB

+1
View File
@@ -274,6 +274,7 @@
#include "code\datums\spells\area_teleport.dm"
#include "code\datums\spells\bloodcrawl.dm"
#include "code\datums\spells\charge.dm"
#include "code\datums\spells\cluwne.dm"
#include "code\datums\spells\conjure.dm"
#include "code\datums\spells\construct_spells.dm"
#include "code\datums\spells\dumbfire.dm"