From 79636a23e6e55d421e3c310a7cd460042ccff810 Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Thu, 17 Nov 2016 22:02:09 -0600 Subject: [PATCH] Dragon Form --- code/modules/mining/lavaland/necropolis_chests.dm | 7 ++++--- .../living/simple_animal/hostile/megafauna/dragon.dm | 4 ++-- .../simple_animal/hostile/megafauna/megafauna.dm | 2 +- code/modules/spells/spell_types/shapeshift.dm | 12 +++++++++++- 4 files changed, 18 insertions(+), 7 deletions(-) diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index a191a88eda8..9e42ba7d7dd 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -589,9 +589,10 @@ user << "Your flesh begins to melt! Miraculously, you seem fine otherwise." H.set_species(/datum/species/skeleton) if(3) - user << "You don't feel so good..." - message_admins("[key_name_admin(user)](FLW) has started transforming into a dragon via dragon's blood.") - H.ForceContractDisease(new /datum/disease/transformation/dragon(0)) + user << "Power courses through you! You can now shift your form at will." + if(user.mind) + var/obj/effect/proc_holder/spell/targeted/shapeshift/dragon/D = new + user.mind.AddSpell(D) if(4) user << "You feel like you could walk straight through lava now." H.weather_immunities |= "lava" diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm index 2d40aae0cd2..dbfc1434298 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm @@ -259,8 +259,8 @@ Difficulty: Medium /mob/living/simple_animal/hostile/megafauna/dragon/lesser name = "lesser ash drake" - maxHealth = 300 - health = 300 + maxHealth = 200 + health = 200 faction = list("neutral") obj_damage = 80 melee_damage_upper = 30 diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm index f05445085d6..2ec03fa2030 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm @@ -75,7 +75,7 @@ if(isliving(target)) var/mob/living/L = target if(L.stat != DEAD) - if(ranged && ranged_cooldown <= world.time) + if(!client && ranged && ranged_cooldown <= world.time) OpenFire() else devour(L) diff --git a/code/modules/spells/spell_types/shapeshift.dm b/code/modules/spells/spell_types/shapeshift.dm index b24b9c3bbad..0d485d687cb 100644 --- a/code/modules/spells/spell_types/shapeshift.dm +++ b/code/modules/spells/spell_types/shapeshift.dm @@ -70,4 +70,14 @@ current_shapes.Remove(shape) shape.mind.transfer_to(caster) - qdel(shape) //Gib it maybe ? \ No newline at end of file + qdel(shape) //Gib it maybe ? + +/obj/effect/proc_holder/spell/targeted/shapeshift/dragon + name = "Dragon Form" + desc = "Take on the shape a lesser ash drake." + invocation = "RAAAAAAAAWR!" + + shapeshift_type = /mob/living/simple_animal/hostile/megafauna/dragon/lesser + list/current_shapes = list(/mob/living/simple_animal/hostile/megafauna/dragon/lesser) + list/current_casters = list() + list/possible_shapes = list(/mob/living/simple_animal/hostile/megafauna/dragon/lesser) \ No newline at end of file