dragon's blood tweaking

This commit is contained in:
DragonTrance
2021-03-02 20:30:26 -07:00
parent 08e55a3f4f
commit 87ea0bb72f
2 changed files with 99 additions and 91 deletions
@@ -738,11 +738,10 @@
if(1)
new /obj/item/melee/ghost_sword(src)
if(2)
new /obj/item/lava_staff(src)
if(3)
new /obj/item/book/granter/spell/sacredflame(src)
new /obj/item/gun/magic/wand/fireball(src)
if(4)
new /obj/item/lava_staff(src)
if(3 to 4)
new /obj/item/dragons_blood(src)
/obj/structure/closet/crate/necropolis/dragon/crusher
@@ -852,33 +851,19 @@
icon_state = "vial"
/obj/item/dragons_blood/attack_self(mob/living/carbon/human/user)
if(!istype(user))
return
var/mob/living/carbon/human/H = user
var/random = rand(1,4)
switch(random)
if(1)
to_chat(user, "<span class='danger'>Your appearance morphs to that of a very small humanoid ash dragon! You get to look like a freak without the cool abilities.</span>")
H.dna.features = list("mcolor" = "A02720", "tail_lizard" = "Dark Tiger", "tail_human" = "None", "snout" = "Sharp", "horns" = "Curled", "ears" = "None", "wings" = "None", "frills" = "None", "spines" = "Long", "body_markings" = "Dark Tiger Body", "legs" = "Digitigrade Legs")
H.eye_color = "fee5a3"
H.set_species(/datum/species/lizard)
if(2)
to_chat(user, "<span class='danger'>Your flesh begins to melt! Miraculously, you seem fine otherwise.</span>")
H.set_species(/datum/species/skeleton)
if(3)
to_chat(user, "<span class='danger'>Power courses through you! You can now shift your form at will.</span>")
if(user.mind)
var/obj/effect/proc_holder/spell/targeted/shapeshift/dragon/D = new
user.mind.AddSpell(D)
if(4)
to_chat(user, "<span class='danger'>You feel like you could walk straight through lava now.</span>")
H.weather_immunities |= "lava"
if(prob(50))
to_chat(user, "<span class='danger'>You feel like you could walk straight through lava now.</span>")
user.weather_immunities |= "lava"
else
to_chat(user, "<span class='danger'>Power courses through you! You can now shift your form at will.</span>")
if(user.mind)
var/obj/effect/proc_holder/spell/targeted/shapeshift/dragon/D = new
user.mind.AddSpell(D)
playsound(user.loc,'sound/items/drink.ogg', rand(10,50), 1)
qdel(src)
/datum/disease/transformation/dragon
name = "dragon transformation"
cure_text = "nothing"
@@ -974,9 +959,7 @@
switch(loot)
if(1)
new /obj/item/mayhem(src)
if(2)
new /obj/item/gun/magic/staff/spellblade(src)
if(3)
if(2 to 3)
new /obj/item/gun/magic/staff/spellblade(src)
/obj/structure/closet/crate/necropolis/bubblegum/crusher
@@ -1066,6 +1049,7 @@
var/random_crystal = pick(choices)
new random_crystal(src)
new /obj/item/organ/vocal_cords/colossus(src)
new /obj/item/skin_dissolver(src)
/obj/structure/closet/crate/necropolis/colossus/crusher
name = "angelic colossus chest"
@@ -1354,3 +1338,88 @@
new /obj/item/wisp_lantern(src)
if(3)
new /obj/item/prisoncube(src)
//THE legion
/obj/structure/closet/crate/necropolis/legion
name = "\improper Guardian of the Necropolis crate"
/obj/structure/closet/crate/necropolis/legion/PopulateContents()
new /obj/item/staff/storm(src)
new /obj/item/skin_dissolver(src)
/obj/item/staff/storm
name = "staff of storms"
desc = "An ancient staff retrieved from the remains of Legion. The wind stirs as you move it."
icon_state = "staffofstorms"
item_state = "staffofstorms"
icon = 'icons/obj/guns/magic.dmi'
slot_flags = ITEM_SLOT_BACK
w_class = WEIGHT_CLASS_BULKY
force = 25
damtype = BURN
hitsound = 'sound/weapons/sear.ogg'
var/storm_type = /datum/weather/ash_storm
var/storm_cooldown = 0
var/static/list/excluded_areas = list(/area/reebe/city_of_cogs)
/obj/item/staff/storm/attack_self(mob/user)
if(storm_cooldown > world.time)
to_chat(user, "<span class='warning'>The staff is still recharging!</span>")
return
var/area/user_area = get_area(user)
var/turf/user_turf = get_turf(user)
if(!user_area || !user_turf || (user_area.type in excluded_areas))
to_chat(user, "<span class='warning'>Something is preventing you from using the staff here.</span>")
return
var/datum/weather/A
for(var/V in SSweather.processing)
var/datum/weather/W = V
if((user_turf.z in W.impacted_z_levels) && W.area_type == user_area.type)
A = W
break
if(A)
if(A.stage != END_STAGE)
if(A.stage == WIND_DOWN_STAGE)
to_chat(user, "<span class='warning'>The storm is already ending! It would be a waste to use the staff now.</span>")
return
user.visible_message("<span class='warning'>[user] holds [src] skywards as an orange beam travels into the sky!</span>", \
"<span class='notice'>You hold [src] skyward, dispelling the storm!</span>")
playsound(user, 'sound/magic/staff_change.ogg', 200, 0)
A.wind_down()
log_game("[user] ([key_name(user)]) has dispelled a storm at [AREACOORD(user_turf)]")
return
else
A = new storm_type(list(user_turf.z))
A.name = "staff storm"
log_game("[user] ([key_name(user)]) has summoned [A] at [AREACOORD(user_turf)]")
if (is_special_character(user))
message_admins("[A] has been summoned in [ADMIN_VERBOSEJMP(user_turf)] by [user] ([key_name_admin(user)], a non-antagonist")
A.area_type = user_area.type
A.telegraph_duration = 100
A.end_duration = 100
user.visible_message("<span class='warning'>[user] holds [src] skywards as red lightning crackles into the sky!</span>", \
"<span class='notice'>You hold [src] skyward, calling down a terrible storm!</span>")
playsound(user, 'sound/magic/staff_change.ogg', 200, 0)
A.telegraph()
storm_cooldown = world.time + 200
/obj/item/skin_dissolver
name = "bottle of acid"
desc = "Of course, you're only planning on keeping this in a safe place..."
icon = 'icons/obj/wizard.dmi'
icon_state = "vial"
/obj/item/skin_dissolver/attack_self(mob/living/carbon/human/user)
to_chat(user, "<span class='danger'>Your flesh begins to melt! Miraculously, you seem fine otherwise.</span>")
user.set_species(/datum/species/skeleton)
playsound(user.loc,'sound/items/drink.ogg', rand(10,50), 1)
qdel(src)
/obj/item/skin_dissolver/attack(mob/M, mob/user)
if(M == user)
attack_self(user)
return
..()