added ethereals
This commit is contained in:
@@ -91,3 +91,36 @@
|
||||
/obj/item/organ/stomach/ipc
|
||||
name = "ipc stomach"
|
||||
icon_state = "stomach-ipc"
|
||||
|
||||
|
||||
/obj/item/organ/stomach/ethereal
|
||||
name = "biological battery"
|
||||
icon_state = "stomach-p" //Welp. At least it's more unique in functionaliy.
|
||||
desc = "A crystal-like organ that stores the electric charge of ethereals."
|
||||
var/crystal_charge = ETHEREAL_CHARGE_FULL
|
||||
|
||||
/obj/item/organ/stomach/ethereal/on_life()
|
||||
..()
|
||||
adjust_charge(-ETHEREAL_CHARGE_FACTOR)
|
||||
|
||||
/obj/item/organ/stomach/ethereal/Insert(mob/living/carbon/M, special = 0)
|
||||
..()
|
||||
RegisterSignal(owner, COMSIG_PROCESS_BORGCHARGER_OCCUPANT, .proc/charge)
|
||||
RegisterSignal(owner, COMSIG_LIVING_ELECTROCUTE_ACT, .proc/on_electrocute)
|
||||
|
||||
/obj/item/organ/stomach/ethereal/Remove(mob/living/carbon/M, special = 0)
|
||||
UnregisterSignal(owner, COMSIG_PROCESS_BORGCHARGER_OCCUPANT)
|
||||
UnregisterSignal(owner, COMSIG_LIVING_ELECTROCUTE_ACT)
|
||||
..()
|
||||
|
||||
/obj/item/organ/stomach/ethereal/proc/charge(datum/source, amount, repairs)
|
||||
adjust_charge(amount / 70)
|
||||
|
||||
/obj/item/organ/stomach/ethereal/proc/on_electrocute(datum/source, shock_damage, siemens_coeff = 1, flags = NONE)
|
||||
if(flags & SHOCK_ILLUSION)
|
||||
return
|
||||
adjust_charge(shock_damage * siemens_coeff * 2)
|
||||
to_chat(owner, "<span class='notice'>You absorb some of the shock into your body!</span>")
|
||||
|
||||
/obj/item/organ/stomach/ethereal/proc/adjust_charge(amount)
|
||||
crystal_charge = clamp(crystal_charge + amount, ETHEREAL_CHARGE_NONE, ETHEREAL_CHARGE_DANGEROUS)
|
||||
|
||||
@@ -312,3 +312,26 @@
|
||||
desc = "A voice synthesizer used by IPCs to smoothly interface with organic lifeforms."
|
||||
electronics_magic = FALSE
|
||||
organ_flags = ORGAN_SYNTHETIC
|
||||
|
||||
/obj/item/organ/tongue/ethereal
|
||||
name = "electric discharger"
|
||||
desc = "A sophisticated ethereal organ, capable of synthesising speech via electrical discharge."
|
||||
icon_state = "electrotongue"
|
||||
say_mod = "crackles"
|
||||
attack_verb = list("shocked", "jolted", "zapped")
|
||||
taste_sensitivity = 101 // Not a tongue, they can't taste shit
|
||||
var/static/list/languages_possible_ethereal = typecacheof(list(
|
||||
/datum/language/common,
|
||||
/datum/language/draconic,
|
||||
/datum/language/codespeak,
|
||||
/datum/language/monkey,
|
||||
/datum/language/narsie,
|
||||
/datum/language/beachbum,
|
||||
/datum/language/aphasia,
|
||||
/datum/language/sylvan,
|
||||
/datum/language/voltaic
|
||||
))
|
||||
|
||||
/obj/item/organ/tongue/ethereal/Initialize(mapload)
|
||||
. = ..()
|
||||
languages_possible = languages_possible_ethereal
|
||||
|
||||
Reference in New Issue
Block a user