Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions code/game/gamemodes/changeling/HelpCode.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
/mob/living/proc/set_m_intent(var/intent)
if (intent != "walk" && intent != "run")
return 0
m_intent = intent
if(hud_used)
if (hud_used.move_intent)
hud_used.move_intent.icon_state = intent == "walk" ? "walking" : "running"
88 changes: 88 additions & 0 deletions code/game/gamemodes/changeling/Infecting.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
// Checks whether or not the target can be affected by a vampire's abilities.
/mob/proc/vampire_can_affect_target(var/mob/living/carbon/human/T, var/notify = 1, var/account_loyalty_implant = 0)
if (!T || !istype(T))
return 0

if (T.isSynthetic())
if (notify)
to_chat(src, "<span class='warning'>You lack the power interact with mechanical constructs.</span>")
return 0

return 1


/mob/living/carbon/human/proc/finish_chang_timeout(chang_flags = 0)
if (!usr.mind || !usr.mind.changeling)
return FALSE

if (chang_flags && !(usr.mind.changeling & chang_flags))
return FALSE

return TRUE
/////////////////
/////////////////
///////Helpcode deadphil//////////

/proc/infect_mob(var/mob/living/carbon/M, var/datum/disease2/disease/D)
infect_virus2(M,D,1)
M.hud_updateflag |= 1 << STATUS_HUD




/////////////////////////////////////////////////////////////////

// Gives a lethal disease to the target.
/datum/power/changeling/Infection
name = "Infection"
desc = "We can produce dangerous viral diseases in our bodies."
helptext = "Touch the victim and it will be infected."
enhancedtext = "We produce a powerful virus, capable of killing the victim in the shortest possible time."
// ability_icon_state = "ling_camoflage"
genomecost = 6
verbpath = /mob/proc/Infection


/mob/proc/Infection()
set category = "Changeling"
set name = "Infection (30)"
set desc = "Infects the victim with a dangerous virus that causes organ failure."

var/datum/changeling/changeling = changeling_power(30,0,100,CONSCIOUS)
if (!changeling)
return 0

var/list/victims = list()
for (var/mob/living/carbon/human/H in view(1))
if (H == src)
continue
victims += H

if (!victims.len)
to_chat(src, "<span class='warning'>No suitable targets.</span>")
return

var/mob/living/carbon/human/T = input(src, "Select Victim") as null|mob in victims

if (!vampire_can_affect_target(T))
return

to_chat(src, "<span class='notice'>You infect [T] with a deadly disease. They will soon fade away.</span>")

T.help_shake_act(src)

var/datum/disease2/disease/lethal = new
lethal.makerandom(4)
lethal.infectionchance = 1
lethal.stage = lethal.max_stage
lethal.spreadtype = "None"

infect_mob(T, lethal)

admin_attack_log(src, T, "used diseased touch on [key_name(T)]", "was given a lethal disease by [key_name(src)]", "used diseased touch (<a href='?src=\ref[lethal];info=1'>virus info</a>) on")

changeling.chem_charges -= 30

// verbs -= /mob/proc/Infection

// ADD_VERB_IN_IF(src, 1800, /mob/proc/Infection, CALLBACK(src, .proc/finish_chang_timeout))
24 changes: 12 additions & 12 deletions code/game/gamemodes/changeling/absorbed_dna.dm
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
/datum/absorbed_dna
var/name
var/datum/dna/dna
var/speciesName
var/list/languages

/datum/absorbed_dna/New(var/newName, var/newDNA, var/newSpecies, var/newLanguages)
..()
name = newName
dna = newDNA
speciesName = newSpecies
languages = newLanguages
/datum/absorbed_dna
var/name
var/datum/dna/dna
var/speciesName
var/list/languages
/datum/absorbed_dna/New(var/newName, var/newDNA, var/newSpecies, var/newLanguages)
..()
name = newName
dna = newDNA
speciesName = newSpecies
languages = newLanguages
36 changes: 18 additions & 18 deletions code/game/gamemodes/changeling/changeling.dm
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
/datum/game_mode/changeling
name = "Changeling"
round_description = "There are alien changelings onboard. Do not let the changelings succeed!"
extended_round_description = "Life always finds a way. However, life can sometimes take a more disturbing route. \
Humanity's extensive knowledge of xeno-biological specimens has made them confident and arrogant. Yet \
something slipped past their eyes. Something dangerous. Something alive. Most frightening of all, \
however, is that this something is someone. An unknown alien specimen has incorporated itself into \
the crew. Its unique biology allows it to manipulate its own or anyone else's DNA. \
With the ability to copy faces, voices, animals, but also change the chemical make up of your own body, \
its existence is a threat to not only your personal safety but the lives of everyone on board. \
No one knows where it came from. No one knows who it is or what it wants. One thing is for \
certain though... there is never just one of them. Good luck."
config_tag = "changeling"
required_players = 2
required_enemies = 1
end_on_antag_death = 0
antag_scaling_coeff = 10
antag_tags = list(MODE_CHANGELING)
/datum/game_mode/changeling
name = "Changeling"
round_description = "There are alien changelings onboard. Do not let the changelings succeed!"
extended_round_description = "Life always finds a way. However, life can sometimes take a more disturbing route. \
Humanity's extensive knowledge of xeno-biological specimens has made them confident and arrogant. Yet \
something slipped past their eyes. Something dangerous. Something alive. Most frightening of all, \
however, is that this something is someone. An unknown alien specimen has incorporated itself into \
the crew. Its unique biology allows it to manipulate its own or anyone else's DNA. \
With the ability to copy faces, voices, animals, but also change the chemical make up of your own body, \
its existence is a threat to not only your personal safety but the lives of everyone on board. \
No one knows where it came from. No one knows who it is or what it wants. One thing is for \
certain though... there is never just one of them. Good luck."
config_tag = "changeling"
required_players = 2
required_enemies = 1
end_on_antag_death = 0
antag_scaling_coeff = 10
antag_tags = list(MODE_CHANGELING)
Loading