mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-20 20:37:34 +01:00
Major Changeling Tweaks (#15993)
* wadawd
* Revert "revert"
This reverts commit 55e480dd85.
* w
* w
* w
* a
* w
* you can no longer grab The Thing
---------
Co-authored-by: DanseMacabre <rsurname1212@gmail.com>
This commit is contained in:
@@ -255,9 +255,9 @@ var/list/datum/power/changeling/powerinstances = list()
|
||||
|
||||
/datum/power/changeling/horror_form
|
||||
name = "Horror Form"
|
||||
desc = "We tear apart our human disguise, revealing our true form."
|
||||
helptext = "We will return to our current form after ten minutes. Death in our true form is permanent."
|
||||
genomecost = 15
|
||||
desc = "We tear apart our human disguise, revealing our true and ultimate form."
|
||||
helptext = "We will assume our ultimate form. This is irreversible. While we are in this state, we are extremely powerful."
|
||||
genomecost = 10
|
||||
verbpath = /mob/proc/horror_form
|
||||
|
||||
// Modularchangling, totally stolen from the new player panel. YAYY
|
||||
|
||||
@@ -453,10 +453,10 @@
|
||||
|
||||
/mob/proc/horror_form()
|
||||
set category = "Changeling"
|
||||
set name = "Horror Form (40)"
|
||||
set name = "Horror Form (50)"
|
||||
set desc = "Tear apart your human disguise, revealing your true form."
|
||||
|
||||
var/datum/changeling/changeling = changeling_power(40,0,0)
|
||||
var/datum/changeling/changeling = changeling_power(50,0,0)
|
||||
if(!changeling)
|
||||
return FALSE
|
||||
|
||||
@@ -465,10 +465,10 @@
|
||||
|
||||
var/mob/living/carbon/human/M = src
|
||||
|
||||
if(alert("Are we sure we wish to reveal ourselves? This will only revert after ten minutes.", , "Yes", "No") == "No") //Changelings have to confirm whether they want to go full horrorform
|
||||
if(alert("Are we sure we wish to reveal ourselves and assume our ultimate form? This is irreversible, and we will not be able to revert to our disguised form.", , "Yes", "No") == "No") //Changelings have to confirm whether they want to go full horrorform
|
||||
return
|
||||
|
||||
changeling.use_charges(40)
|
||||
changeling.use_charges(50)
|
||||
|
||||
M.visible_message("<span class='danger'>[M] writhes and contorts, their body expanding to inhuman proportions!</span>", \
|
||||
"<span class='danger'>We begin our transformation to our true form!</span>")
|
||||
@@ -510,19 +510,6 @@
|
||||
M.forceMove(ling) //move inside the new dude to hide him.
|
||||
ling.occupant = M
|
||||
M.status_flags |= GODMODE //dont want him to die or breathe or do ANYTHING
|
||||
addtimer(CALLBACK(src, PROC_REF(revert_horror_form), ling), 10 MINUTES)
|
||||
|
||||
/mob/proc/revert_horror_form(var/mob/living/ling)
|
||||
if(QDELETED(ling))
|
||||
return
|
||||
src.status_flags &= ~GODMODE //no more godmode.
|
||||
if(ling.mind)
|
||||
ling.mind.transfer_to(src)
|
||||
else
|
||||
src.key = ling.key
|
||||
playsound(get_turf(src),'sound/effects/blobattack.ogg',50,1)
|
||||
src.forceMove(get_turf(ling))
|
||||
qdel(ling)
|
||||
|
||||
// Chiropteran Screech
|
||||
/mob/proc/resonant_shriek()
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/mob/living/simple_animal/hostile/true_changeling
|
||||
name = "shambling horror"
|
||||
desc = "A monstrous creature, made of twisted flesh and bone."
|
||||
speak_emote = list("gibbers")
|
||||
desc = "An entity ripped from your nightmares. A monstrous creature, a warped parody of a living being. It is created from a twisted amalgamation of flesh and bone, covered in oozing sores, open wounds, and serrated knife-like blades of bone. A strong, sickening smell of rot, blood, and sickness emanates from it."
|
||||
speak_emote = list("snarls")
|
||||
emote_hear = list("gibbers")
|
||||
icon = 'icons/mob/npc/animal.dmi'
|
||||
icon_state = "abomination"
|
||||
icon_living = "abomination"
|
||||
@@ -15,33 +16,42 @@
|
||||
|
||||
tameable = FALSE
|
||||
|
||||
organ_names = list("head", "chest", "tail", "leg")
|
||||
response_help = "pets"
|
||||
organ_names = list("gaping maw", "misshapen head", "engorged abdomen", "bladed tail", "warped legs", "scythelike arm")
|
||||
response_help = "pokes"
|
||||
response_disarm = "shoves"
|
||||
response_harm = "harmlessly punches"
|
||||
blood_amount = 600
|
||||
maxHealth = 750
|
||||
health = 750
|
||||
blood_amount = 1000
|
||||
maxHealth = 1250
|
||||
health = 1250
|
||||
harm_intent_damage = 0
|
||||
melee_damage_lower = 30
|
||||
melee_damage_upper = 30
|
||||
resist_mod = 3
|
||||
melee_damage_upper = 45
|
||||
armor_penetration = 30
|
||||
ranged = 1
|
||||
projectiletype = /obj/item/projectile/bonedart/ling
|
||||
projectilesound = 'sound/weapons/bloodyslice.ogg'
|
||||
resist_mod = 15
|
||||
mob_size = 25
|
||||
environment_smash = 2
|
||||
attacktext = "mangled"
|
||||
attack_sound = 'sound/weapons/bloodyslice.ogg'
|
||||
emote_sounds = list('sound/effects/creatures/bear_loud_1.ogg', 'sound/effects/creatures/bear_loud_2.ogg', 'sound/effects/creatures/bear_loud_3.ogg', 'sound/effects/creatures/bear_loud_4.ogg')
|
||||
|
||||
see_in_dark = 8
|
||||
see_invisible = SEE_INVISIBLE_NOLIGHTING
|
||||
|
||||
minbodytemp = 0
|
||||
maxbodytemp = 350
|
||||
min_oxy = 0
|
||||
min_oxy = 5
|
||||
max_co2 = 0
|
||||
max_tox = 0
|
||||
|
||||
var/is_devouring = FALSE
|
||||
var/mob/living/carbon/human/occupant = null
|
||||
var/loud_sounds = list('sound/effects/creatures/bear_loud_1.ogg',
|
||||
'sound/effects/creatures/bear_loud_2.ogg',
|
||||
'sound/effects/creatures/bear_loud_3.ogg',
|
||||
'sound/effects/creatures/bear_loud_4.ogg')
|
||||
|
||||
/mob/living/simple_animal/hostile/true_changeling/Initialize()
|
||||
. = ..()
|
||||
@@ -49,24 +59,27 @@
|
||||
icon_state = "horror"
|
||||
icon_living = "horror"
|
||||
icon_dead = "horror_dead"
|
||||
else if(prob(25))
|
||||
icon_state = "horror_alt"
|
||||
icon_living = "horror_alt"
|
||||
icon_dead = "horror_alt_dead"
|
||||
|
||||
/mob/living/simple_animal/hostile/true_changeling/Life()
|
||||
..()
|
||||
adjustBruteLoss(-10) //it will slowly heal brute damage, making fire/laser a stronger option
|
||||
/mob/living/simple_animal/hostile/true_changeling/do_animate_chat(var/message, var/datum/language/language, var/small, var/list/show_to, var/duration, var/list/message_override)
|
||||
INVOKE_ASYNC(src, /atom/movable/proc/animate_chat, message, language, small, show_to, duration)
|
||||
|
||||
/mob/living/simple_animal/hostile/true_changeling/mind_initialize()
|
||||
..()
|
||||
mind.assigned_role = "Changeling"
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/true_changeling/Life()
|
||||
if(prob(10))
|
||||
custom_emote(VISIBLE_MESSAGE, pick( list("shrieks!","roars!", "screeches!", "snarls!", "bellows!", "screams!") ) )
|
||||
var/sound = pick(loud_sounds)
|
||||
playsound(src, sound, 90, 1, 15, usepressure = 0)
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/true_changeling/death(gibbed)
|
||||
..()
|
||||
if(!gibbed)
|
||||
visible_message("<b>[src]</b> lets out a waning scream as it falls, twitching, to the floor!")
|
||||
playsound(loc, 'sound/effects/creepyshriek.ogg', 30, 1)
|
||||
visible_message("<b>[src]</b> lets out a waning scream as it disintegrates into a pile of flesh!")
|
||||
playsound(loc, 'sound/effects/creatures/vannatusk_attack.ogg', 90, 1, 15)
|
||||
if(occupant)
|
||||
qdel(occupant)
|
||||
gibs(src.loc)
|
||||
@@ -75,7 +88,7 @@
|
||||
|
||||
/mob/living/simple_animal/hostile/true_changeling/verb/ling_devour(mob/living/target as mob in oview())
|
||||
set category = "Changeling"
|
||||
set name = "Devour"
|
||||
set name = "Devour (Heal)"
|
||||
set desc = "Devours a creature, destroying its body and regenerating health."
|
||||
|
||||
if(!Adjacent(target))
|
||||
@@ -124,26 +137,9 @@
|
||||
src.is_devouring = FALSE
|
||||
return
|
||||
|
||||
/mob/living/simple_animal/hostile/true_changeling/verb/dart(mob/living/target as mob in oview())
|
||||
set name = "Launch Bone Dart"
|
||||
set desc = "Launches a Bone Dart at a target."
|
||||
set category = "Changeling"
|
||||
|
||||
if(!health)
|
||||
to_chat(usr, "<span class='notice'>We are dead, we cannot use any abilities!</span>")
|
||||
return
|
||||
|
||||
if(last_special > world.time)
|
||||
return
|
||||
|
||||
last_special = world.time + 30
|
||||
|
||||
visible_message("<span class='warning'>\The [src]'s skin bulges and tears, launching a bone-dart at [target]!</span>")
|
||||
|
||||
playsound(src.loc, 'sound/weapons/bloodyslice.ogg', 50, 1)
|
||||
var/obj/item/bone_dart/A = new /obj/item/bone_dart(usr.loc)
|
||||
A.throw_at(target, 10, 20, usr)
|
||||
add_logs(src, target, "launched a bone dart at")
|
||||
/mob/living/simple_animal/hostile/true_changeling/attempt_grab(var/mob/living/grabber)
|
||||
to_chat(grabber, SPAN_WARNING("\The [src] contorts and shifts away from you when you try to grab it!"))
|
||||
return FALSE
|
||||
|
||||
/mob/living/simple_animal/hostile/lesser_changeling
|
||||
name = "crawling horror"
|
||||
|
||||
@@ -321,4 +321,10 @@
|
||||
check_armor = "melee"
|
||||
embed = TRUE
|
||||
sharp = TRUE
|
||||
shrapnel_type = /obj/item/bone_dart/vannatusk
|
||||
shrapnel_type = /obj/item/bone_dart/vannatusk
|
||||
|
||||
/obj/item/projectile/bonedart/ling
|
||||
name = "bone dart"
|
||||
damage = 10
|
||||
armor_penetration = 10
|
||||
check_armor = "bullet"
|
||||
@@ -0,0 +1,41 @@
|
||||
################################
|
||||
# Example Changelog File
|
||||
#
|
||||
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
|
||||
#
|
||||
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
|
||||
# When it is, any changes listed below will disappear.
|
||||
#
|
||||
# Valid Prefixes:
|
||||
# bugfix
|
||||
# wip (For works in progress)
|
||||
# tweak
|
||||
# soundadd
|
||||
# sounddel
|
||||
# rscadd (general adding of nice things)
|
||||
# rscdel (general deleting of nice things)
|
||||
# imageadd
|
||||
# imagedel
|
||||
# maptweak
|
||||
# spellcheck (typo fixes)
|
||||
# experiment
|
||||
# balance
|
||||
# admin
|
||||
# backend
|
||||
# security
|
||||
# refactor
|
||||
#################################
|
||||
|
||||
# Your name.
|
||||
author: TheDanseMacabre
|
||||
|
||||
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
|
||||
delete-after: True
|
||||
|
||||
# Any changes you've made. See valid prefix list above.
|
||||
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
|
||||
# SCREW THIS UP AND IT WON'T WORK.
|
||||
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
|
||||
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
|
||||
changes:
|
||||
- balance: "Changeling horror form has been reworked. It is now permanent, it does not passively regenerate health, cannot survive in a vacuum, and costs more chems to use the ability. In exchange, it has better stats across the board, and is marginally cheaper to purchase."
|
||||
Reference in New Issue
Block a user