mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-14 09:27:45 +01:00
New wizard fixes and tweak (#1741)
-fix familiars being hungry and having wrong attack verbs -add some extra mechanical differences to familiars -fix some issues with buckling when it comes to jaunt and polymorph -fix siphon life not working Fixes #1737
This commit is contained in:
@@ -241,7 +241,7 @@ proc/get_radio_key_from_channel(var/channel)
|
||||
italics = 1
|
||||
sound_vol *= 0.5 //muffle the sound a bit, so it's like we're actually talking through contact
|
||||
|
||||
var/list/hear = get_mobs_or_objects_in_view(message_range,src)
|
||||
var/list/hear = hear(message_range,T)
|
||||
var/list/hearturfs = list()
|
||||
|
||||
for(var/I in hear)
|
||||
|
||||
@@ -13,6 +13,9 @@
|
||||
min_oxy = 1 //still require a /bit/ of air.
|
||||
max_co2 = 0
|
||||
unsuitable_atoms_damage = 1
|
||||
|
||||
hunger_enabled = 0
|
||||
supernatural = 1
|
||||
|
||||
var/list/wizardy_spells = list()
|
||||
|
||||
@@ -24,7 +27,7 @@
|
||||
|
||||
/mob/living/simple_animal/familiar/carcinus
|
||||
name = "crab"
|
||||
desc = "An odd looking crab."
|
||||
desc = "A small crab said to be made of stone and starlight."
|
||||
icon = 'icons/mob/animal.dmi'
|
||||
icon_state = "evilcrab"
|
||||
icon_living = "evilcrab"
|
||||
@@ -37,7 +40,8 @@
|
||||
maxHealth = 200
|
||||
melee_damage_lower = 10
|
||||
melee_damage_upper = 15
|
||||
attacktext = "pinches"
|
||||
friendly = "pinches"
|
||||
attacktext = "pinched"
|
||||
resistance = 9
|
||||
|
||||
|
||||
@@ -52,11 +56,16 @@
|
||||
pixel_x = -16
|
||||
|
||||
speak_emote = list("gnashes")
|
||||
attacktext = "bitten"
|
||||
attack_sound = 'sound/weapons/bite.ogg'
|
||||
|
||||
environment_smash = 2
|
||||
health = 100
|
||||
maxHealth = 100
|
||||
melee_damage_lower = 10
|
||||
melee_damage_upper = 10
|
||||
melee_damage_lower = 15
|
||||
melee_damage_upper = 15
|
||||
|
||||
meat_type = /obj/item/weapon/reagent_containers/food/snacks/carpmeat
|
||||
|
||||
min_oxy = 0
|
||||
|
||||
@@ -76,11 +85,12 @@
|
||||
|
||||
response_help = "thinks better of touching"
|
||||
|
||||
environment_smash = 2
|
||||
health = 150
|
||||
maxHealth = 150
|
||||
melee_damage_lower = 5
|
||||
melee_damage_upper = 8
|
||||
attacktext = "touches"
|
||||
melee_damage_lower = 10
|
||||
melee_damage_upper = 10
|
||||
attacktext = "clawed"
|
||||
|
||||
wizardy_spells = list(/spell/targeted/torment)
|
||||
|
||||
@@ -99,6 +109,7 @@
|
||||
icon_living = "goat"
|
||||
icon_dead = "goat_dead"
|
||||
speak_emote = list("brays")
|
||||
attacktext = "kicked"
|
||||
|
||||
mob_size = MOB_SMALL
|
||||
|
||||
@@ -144,13 +155,16 @@
|
||||
pass_flags = PASSTABLE
|
||||
mob_size = MOB_MINISCULE
|
||||
|
||||
see_in_dark = 8
|
||||
see_invisible = SEE_INVISIBLE_NOLIGHTING
|
||||
|
||||
response_harm = "stamps on"
|
||||
|
||||
health = 15
|
||||
maxHealth = 15
|
||||
melee_damage_lower = 1
|
||||
melee_damage_upper = 1
|
||||
attacktext = "nibbles"
|
||||
attacktext = "nibbled"
|
||||
|
||||
wizardy_spells = list(/spell/aoe_turf/smoke)
|
||||
|
||||
@@ -168,6 +182,8 @@
|
||||
icon_dead = "cat3_dead"
|
||||
icon_rest = "cat3_rest"
|
||||
|
||||
see_in_dark = 8
|
||||
see_invisible = SEE_INVISIBLE_NOLIGHTING
|
||||
|
||||
speak_emote = list("meows", "purrs")
|
||||
holder_type = /obj/item/weapon/holder/cat
|
||||
@@ -177,6 +193,6 @@
|
||||
maxHealth = 25
|
||||
melee_damage_lower = 3
|
||||
melee_damage_upper = 4
|
||||
attacktext = "claws"
|
||||
attacktext = "clawed"
|
||||
|
||||
wizardy_spells = list(/spell/targeted/subjugation)
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
speed = -1
|
||||
maxHealth = 80
|
||||
health = 80
|
||||
environment_smash = 2
|
||||
|
||||
harm_intent_damage = 10
|
||||
melee_damage_lower = 15
|
||||
|
||||
@@ -18,7 +18,8 @@
|
||||
/spell/targeted/ethereal_jaunt/cast(list/targets) //magnets, so mostly hardcoded
|
||||
for(var/mob/living/target in targets)
|
||||
target.transforming = 1 //protects the mob from being transformed (replaced) midjaunt and getting stuck in bluespace
|
||||
if(target.buckled) target.buckled = null
|
||||
if(target.buckled)
|
||||
target.buckled.unbuckle_mob()
|
||||
spawn(0)
|
||||
var/mobloc = get_turf(target.loc)
|
||||
var/obj/effect/dummy/spell_jaunt/holder = new /obj/effect/dummy/spell_jaunt( mobloc )
|
||||
|
||||
@@ -47,25 +47,25 @@
|
||||
|
||||
hud_state = "wiz_vampire"
|
||||
cast_sound = 'sound/magic/enter_blood.ogg'
|
||||
|
||||
amt_dam_brute = 15
|
||||
amt_dam_fire = 15
|
||||
|
||||
message = "You feel a sickening feeling as your body weakens."
|
||||
|
||||
/spell/targeted/life_steal/cast(var/list/targets, var/mob/living/carbon/human/caster)
|
||||
for(var/mob/M in targets)
|
||||
if(!(M.stat == DEAD))
|
||||
amt_dam_brute = 15
|
||||
amt_dam_fire = 15
|
||||
|
||||
/spell/targeted/life_steal/cast(list/targets, mob/living/user)
|
||||
for(var/mob/living/M in targets)
|
||||
if(M.stat == DEAD)
|
||||
user << "There is no left life to steal."
|
||||
return
|
||||
if(isipc(target))
|
||||
if(isipc(M))
|
||||
user << "There is no life to steal."
|
||||
return
|
||||
M.visible_message("<span class='danger'>Blood flows from \the [M] into \the [caster]!</span>")
|
||||
caster.adjustBruteLoss(-15)
|
||||
caster.adjustFireLoss(-15)
|
||||
M.visible_message("<span class='danger'>Blood flows from \the [M] into \the [user]!</span>")
|
||||
gibs(M.loc)
|
||||
user.adjustBruteLoss(-15)
|
||||
user.adjustFireLoss(-15)
|
||||
|
||||
..()
|
||||
..()
|
||||
|
||||
/spell/targeted/raise_dead
|
||||
name = "Raise Dead"
|
||||
@@ -139,16 +139,17 @@
|
||||
invocation_type = SpI_EMOTE
|
||||
invocation = "entones an obscure chant..."
|
||||
max_targets = 1
|
||||
level_max = list(Sp_TOTAL = 0, Sp_SPEED = 0, Sp_POWER = 0)
|
||||
|
||||
hud_state = "wiz_lich"
|
||||
|
||||
/spell/targeted/lichdom/cast(mob/target,var/mob/living/carbon/human/user as mob)
|
||||
if(isskeleton(target))
|
||||
if(isskeleton(user))
|
||||
user << "You have no soul or life to offer."
|
||||
return
|
||||
|
||||
user.visible_message("<span class='cult'>\The [user]'s skin sloughs off bone, their blood boils and guts turn to dust!</span>")
|
||||
new /obj/effect/gibspawner/human
|
||||
gibs(user.loc)
|
||||
user.verbs += /mob/living/carbon/proc/immortality
|
||||
user.set_species("Skeleton")
|
||||
user.unEquip(user.wear_suit)
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
amt_stunned = 3
|
||||
|
||||
amt_dam_fire = 10
|
||||
cast_prox_range = 0
|
||||
|
||||
/spell/targeted/projectile/magic_missile/prox_cast(var/list/targets, atom/spell_holder)
|
||||
spell_holder.visible_message("<span class='danger'>\The [spell_holder] pops with a flash!</span>")
|
||||
|
||||
@@ -24,6 +24,10 @@
|
||||
if(M.stat == DEAD)
|
||||
user << "[name] can only transform living targets."
|
||||
continue
|
||||
|
||||
if(M.buckled)
|
||||
M.buckled.unbuckle_mob()
|
||||
|
||||
var/new_mob = pick(possible_transformations)
|
||||
|
||||
var/mob/living/trans = new new_mob(get_turf(M))
|
||||
@@ -76,7 +80,7 @@
|
||||
feedback = "BP"
|
||||
possible_transformations = list(/mob/living/simple_animal/lizard,/mob/living/simple_animal/mouse,/mob/living/simple_animal/corgi)
|
||||
|
||||
|
||||
share_damage = 0
|
||||
invocation = "Yo'balada!"
|
||||
invocation_type = SpI_SHOUT
|
||||
spell_flags = NEEDSCLOTHES | SELECTABLE
|
||||
@@ -86,6 +90,8 @@
|
||||
|
||||
level_max = list(Sp_TOTAL = 2, Sp_SPEED = 2, Sp_POWER = 2)
|
||||
|
||||
newVars = list("health" = 50, "maxHealth" = 50)
|
||||
|
||||
hud_state = "wiz_poly"
|
||||
|
||||
|
||||
@@ -98,13 +104,15 @@
|
||||
return "Your target will now stay in their polymorphed form for [duration/10] seconds."
|
||||
|
||||
/spell/targeted/shapeshift/avian
|
||||
name = "Avian Form"
|
||||
name = "Polymorph"
|
||||
desc = "This spell transforms the wizard into the common parrot."
|
||||
feedback = "AV"
|
||||
possible_transformations = list(/mob/living/simple_animal/parrot)
|
||||
|
||||
invocation = "Poli'crakata!"
|
||||
invocation_type = SpI_SHOUT
|
||||
drop_items = 0
|
||||
share_damage = 0
|
||||
spell_flags = INCLUDEUSER
|
||||
range = -1
|
||||
duration = 150
|
||||
@@ -143,9 +151,9 @@
|
||||
return "You will now stay corrupted for [duration/10] seconds."
|
||||
if(2)
|
||||
newVars = list("name" = "\proper corruption incarnate",
|
||||
"melee_damage_upper" = 25,
|
||||
"melee_damage_upper" = 35,
|
||||
"resistance" = 6,
|
||||
"health" = 125,
|
||||
"maxHealth" = 125)
|
||||
"health" = 250,
|
||||
"maxHealth" = 250)
|
||||
duration = 0
|
||||
return "You revel in the corruption. There is no turning back."
|
||||
|
||||
Reference in New Issue
Block a user