diff --git a/code/game/gamemodes/changeling/changeling.dm b/code/game/gamemodes/changeling/changeling.dm index eed84738d1b..4df22f441e5 100644 --- a/code/game/gamemodes/changeling/changeling.dm +++ b/code/game/gamemodes/changeling/changeling.dm @@ -13,9 +13,9 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon" restricted_jobs = list("AI", "Cyborg") protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Magistrate", "Brig Physician", "Internal Affairs Agent", "Nanotrasen Navy Officer", "Special Operations Officer", "Syndicate Officer") protected_species = list("Machine") - required_players = 15 + required_players = 1 required_enemies = 1 - recommended_enemies = 4 + recommended_enemies = 1 var/const/prob_int_murder_target = 50 // intercept names the assassination target half the time var/const/prob_right_murder_target_l = 25 // lower bound on probability of naming right assassination target @@ -329,4 +329,4 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon" return 1 /proc/can_absorb_species(datum/species/S) - return !(NO_DNA in S.species_traits) \ No newline at end of file + return !(NO_DNA in S.species_traits) diff --git a/code/game/gamemodes/changeling/changeling_power.dm b/code/game/gamemodes/changeling/changeling_power.dm index 6eb0730b46a..69142049280 100644 --- a/code/game/gamemodes/changeling/changeling_power.dm +++ b/code/game/gamemodes/changeling/changeling_power.dm @@ -6,6 +6,7 @@ /datum/action/changeling name = "Prototype Sting" desc = "" // Fluff + background_icon_state = "bg_changeling" var/helptext = "" // Details var/chemical_cost = 0 // negative chemical cost is for passive abilities (chemical glands) var/dna_cost = -1 //cost of the sting in dna points. 0 = auto-purchase, -1 = cannot be purchased @@ -29,7 +30,7 @@ the same goes for Remove(). if you override Remove(), call parent or else your p Grant(user) /datum/action/changeling/Trigger() - var/mob/user = usr + var/mob/user = owner if(!user || !user.mind || !user.mind.changeling) return try_to_sting(user) diff --git a/code/game/gamemodes/changeling/evolution_menu.dm b/code/game/gamemodes/changeling/evolution_menu.dm index 49ba4e29ca7..e8d266d2dd5 100644 --- a/code/game/gamemodes/changeling/evolution_menu.dm +++ b/code/game/gamemodes/changeling/evolution_menu.dm @@ -4,6 +4,7 @@ var/list/sting_paths /datum/action/changeling/evolution_menu name = "-Evolution Menu-" //Dashes are so it's listed before all the other abilities. desc = "Choose our method of subjugation." + button_icon_state = "changelingsting" dna_cost = 0 /datum/action/changeling/evolution_menu/Trigger() diff --git a/code/game/gamemodes/changeling/powers/absorb.dm b/code/game/gamemodes/changeling/powers/absorb.dm index 1ebf739af72..b5ad5ab9f8a 100644 --- a/code/game/gamemodes/changeling/powers/absorb.dm +++ b/code/game/gamemodes/changeling/powers/absorb.dm @@ -1,6 +1,7 @@ /datum/action/changeling/absorbDNA name = "Absorb DNA" desc = "Absorb the DNA of our victim. Requires us to strangle them." + button_icon_state = "absorb_dna" chemical_cost = 0 dna_cost = 0 req_human = 1 diff --git a/code/game/gamemodes/changeling/powers/augmented_eyesight.dm b/code/game/gamemodes/changeling/powers/augmented_eyesight.dm index d8118f31291..ffa5267aad8 100644 --- a/code/game/gamemodes/changeling/powers/augmented_eyesight.dm +++ b/code/game/gamemodes/changeling/powers/augmented_eyesight.dm @@ -4,7 +4,8 @@ /datum/action/changeling/augmented_eyesight name = "Augmented Eyesight" desc = "Creates heat receptors in our eyes and dramatically increases light sensing ability." - helptext = "Grants us thermal vision or flash protection. We will become a lot more vulnerable to flash-based devices while thermal vision is active." + helptext = "Grants us thermal vision or flash protection. We will become a lot more vulnerable to flash based devices while thermal vision is active." + button_icon_state = "augmented_eyesight" chemical_cost = 0 dna_cost = 2 //Would be 1 without thermal vision diff --git a/code/game/gamemodes/changeling/powers/biodegrade.dm b/code/game/gamemodes/changeling/powers/biodegrade.dm index 4a5c5e4013c..89739235530 100644 --- a/code/game/gamemodes/changeling/powers/biodegrade.dm +++ b/code/game/gamemodes/changeling/powers/biodegrade.dm @@ -1,7 +1,8 @@ /datum/action/changeling/biodegrade name = "Biodegrade" - desc = "Dissolves restraints or other objects preventing free movement." + desc = "Dissolves restraints or other objects preventing free movement. Costs 30 chemicals." helptext = "This is obvious to nearby people, and can destroy standard restraints and closets." + button_icon_state = "biodegrade" chemical_cost = 30 //High cost to prevent spam dna_cost = 2 req_human = 1 diff --git a/code/game/gamemodes/changeling/powers/chameleon_skin.dm b/code/game/gamemodes/changeling/powers/chameleon_skin.dm index 5bc4f9cff95..7de16801153 100644 --- a/code/game/gamemodes/changeling/powers/chameleon_skin.dm +++ b/code/game/gamemodes/changeling/powers/chameleon_skin.dm @@ -1,7 +1,8 @@ /datum/action/changeling/chameleon_skin name = "Chameleon Skin" - desc = "Our skin pigmentation rapidly changes to suit our current environment." + desc = "Our skin pigmentation rapidly changes to suit our current environment. Costs 25 chemicals." helptext = "Allows us to become invisible after a few seconds of standing still. Can be toggled on and off." + button_icon_state = "chameleon_skin" dna_cost = 2 chemical_cost = 25 req_human = 1 diff --git a/code/game/gamemodes/changeling/powers/digitalcamo.dm b/code/game/gamemodes/changeling/powers/digitalcamo.dm index 2f3839ff29d..dd309b55060 100644 --- a/code/game/gamemodes/changeling/powers/digitalcamo.dm +++ b/code/game/gamemodes/changeling/powers/digitalcamo.dm @@ -2,6 +2,7 @@ name = "Digital Camouflage" desc = "By evolving the ability to distort our form and proprotions, we defeat common altgorithms used to detect lifeforms on cameras." helptext = "We cannot be tracked by camera while using this skill. However, humans looking at us will find us... uncanny." + button_icon_state = "digital_camo" dna_cost = 1 //Prevents AIs tracking you but makes you easily detectable to the human-eye. diff --git a/code/game/gamemodes/changeling/powers/epinephrine.dm b/code/game/gamemodes/changeling/powers/epinephrine.dm index d6f8e1a11eb..55fdf5cf4e6 100644 --- a/code/game/gamemodes/changeling/powers/epinephrine.dm +++ b/code/game/gamemodes/changeling/powers/epinephrine.dm @@ -1,7 +1,8 @@ /datum/action/changeling/epinephrine name = "Epinephrine Overdose" - desc = "We evolve additional sacs of adrenaline throughout our body." - helptext = "Removes all stuns instantly and adds a short-term reduction in further stuns. Can be used while unconscious. Continued use poisons the body." + desc = "We evolve additional sacs of adrenaline throughout our body. Costs 30 chemicals." + helptext = "Removes all stuns instantly and adds a short term reduction in further stuns. Can be used while unconscious. Continued use poisons the body." + button_icon_state = "adrenaline" chemical_cost = 30 dna_cost = 2 req_human = 1 diff --git a/code/game/gamemodes/changeling/powers/fakedeath.dm b/code/game/gamemodes/changeling/powers/fakedeath.dm index 7ab62f16361..d403059b0c7 100644 --- a/code/game/gamemodes/changeling/powers/fakedeath.dm +++ b/code/game/gamemodes/changeling/powers/fakedeath.dm @@ -1,6 +1,7 @@ /datum/action/changeling/fakedeath name = "Regenerative Stasis" - desc = "We fall into a stasis, allowing us to regenerate." + desc = "We fall into a stasis, allowing us to regenerate and trick our enemies. Costs 15 chemicals." + button_icon_state = "fake_death" chemical_cost = 15 dna_cost = 0 req_dna = 1 diff --git a/code/game/gamemodes/changeling/powers/fleshmend.dm b/code/game/gamemodes/changeling/powers/fleshmend.dm index 3d0b16bedc6..f7475090660 100644 --- a/code/game/gamemodes/changeling/powers/fleshmend.dm +++ b/code/game/gamemodes/changeling/powers/fleshmend.dm @@ -1,7 +1,8 @@ /datum/action/changeling/fleshmend name = "Fleshmend" - desc = "Our flesh rapidly regenerates, healing our wounds." - helptext = "Heals a moderate amount of damage over a short period of time. Can be used while unconscious." + desc = "Our flesh rapidly regenerates, healing our burns, bruises, and shortness of breath. Costs 20 chemicals." + helptext = "If we are on fire, the healing effect will not function. Does not regrow limbs or restore lost blood. Functions while unconscious." + button_icon_state = "fleshmend" chemical_cost = 20 dna_cost = 2 req_stat = UNCONSCIOUS diff --git a/code/game/gamemodes/changeling/powers/headcrab.dm b/code/game/gamemodes/changeling/powers/headcrab.dm index 3825ad76ff4..b39a2bba0d5 100644 --- a/code/game/gamemodes/changeling/powers/headcrab.dm +++ b/code/game/gamemodes/changeling/powers/headcrab.dm @@ -1,7 +1,8 @@ /datum/action/changeling/headcrab name = "Last Resort" - desc = "We sacrifice our current body in a moment of need, placing us in control of a vessel." + desc = "We sacrifice our current body in a moment of need, placing us in control of a vessel that can plant our likeness in a new host. Costs 20 chemicals." helptext = "We will be placed in control of a small, fragile creature. We may attack a corpse like this to plant an egg which will slowly mature into a new form for us." + button_icon_state = "last_resort" chemical_cost = 20 dna_cost = 1 req_human = 1 @@ -42,4 +43,4 @@ to_chat(crab, "You burst out of the remains of your former body in a shower of gore!") user.gib() feedback_add_details("changeling_powers","LR") - return 1 \ No newline at end of file + return 1 diff --git a/code/game/gamemodes/changeling/powers/hivemind.dm b/code/game/gamemodes/changeling/powers/hivemind.dm index 3ddf4ef1e08..af375cad368 100644 --- a/code/game/gamemodes/changeling/powers/hivemind.dm +++ b/code/game/gamemodes/changeling/powers/hivemind.dm @@ -15,6 +15,7 @@ var/datum/action/changeling/hivemind_upload/S1 = new if(!changeling.has_sting(S1)) changeling.purchasedpowers+=S1 + S1.Grant(user) var/datum/action/changeling/hivemind_download/S2 = new if(!changeling.has_sting(S2)) S2.Grant(user) @@ -26,7 +27,8 @@ var/list/datum/dna/hivemind_bank = list() /datum/action/changeling/hivemind_upload name = "Hive Channel DNA" - desc = "Allows us to channel DNA in the airwaves to allow other changelings to absorb it." + desc = "Allows us to channel DNA in the airwaves to allow other changelings to absorb it. Costs 10 chemicals." + button_icon_state = "hivemind_channel" chemical_cost = 10 dna_cost = -1 @@ -56,7 +58,8 @@ var/list/datum/dna/hivemind_bank = list() /datum/action/changeling/hivemind_download name = "Hive Absorb DNA" - desc = "Allows us to absorb DNA that has been channeled to the airwaves. Does not count towards absorb objectives." + desc = "Allows us to absorb DNA that has been channeled to the airwaves. Does not count towards absorb objectives. Costs 10 chemicals." + button_icon_state = "hive_absorb" chemical_cost = 10 dna_cost = -1 @@ -89,4 +92,4 @@ var/list/datum/dna/hivemind_bank = list() changeling.store_dna(chosen_dna, user) to_chat(user, "We absorb the DNA of [S] from the air.") feedback_add_details("changeling_powers","HD") - return 1 \ No newline at end of file + return 1 diff --git a/code/game/gamemodes/changeling/powers/humanform.dm b/code/game/gamemodes/changeling/powers/humanform.dm index 64900697db9..f9b214c513c 100644 --- a/code/game/gamemodes/changeling/powers/humanform.dm +++ b/code/game/gamemodes/changeling/powers/humanform.dm @@ -1,12 +1,12 @@ /datum/action/changeling/humanform name = "Human form" - desc = "We change into a human." + desc = "We change into a human. Costs 5 chemicals." + button_icon_state = "human_form" chemical_cost = 5 genetic_damage = 3 req_dna = 1 max_genetic_damage = 3 - //Transform into a human. /datum/action/changeling/humanform/sting_action(var/mob/living/carbon/human/user) var/datum/changeling/changeling = user.mind.changeling @@ -39,6 +39,6 @@ changeling.purchasedpowers -= src //O.mind.changeling.purchasedpowers += new /datum/action/changeling/lesserform(null) + src.Remove(user) feedback_add_details("changeling_powers","LFT") return 1 - diff --git a/code/game/gamemodes/changeling/powers/lesserform.dm b/code/game/gamemodes/changeling/powers/lesserform.dm index 2aa4912f9c6..0dd112b66dd 100644 --- a/code/game/gamemodes/changeling/powers/lesserform.dm +++ b/code/game/gamemodes/changeling/powers/lesserform.dm @@ -1,6 +1,8 @@ /datum/action/changeling/lesserform name = "Lesser form" - desc = "We debase ourselves and become lesser. We become a monkey." + desc = "We debase ourselves and become lesser. We become a monkey. Costs 5 chemicals." + helptext = "The transformation greatly reduces our size, allowing us to slip out of cuffs and climb through vents." + button_icon_state = "lesser_form" chemical_cost = 5 dna_cost = 1 genetic_damage = 3 @@ -25,6 +27,10 @@ changeling.geneticdamage = 30 to_chat(H, "Our genes cry out!") H.monkeyize() - changeling.purchasedpowers += new /datum/action/changeling/humanform(null) + + var/datum/action/changeling/humanform/HF = new + changeling.purchasedpowers += HF + HF.Grant(user) + feedback_add_details("changeling_powers","LF") return 1 \ No newline at end of file diff --git a/code/game/gamemodes/changeling/powers/linglink.dm b/code/game/gamemodes/changeling/powers/linglink.dm index 2b8024a91b7..ba203a3e71f 100644 --- a/code/game/gamemodes/changeling/powers/linglink.dm +++ b/code/game/gamemodes/changeling/powers/linglink.dm @@ -1,6 +1,8 @@ /datum/action/changeling/linglink name = "Hivemind Link" - desc = "Link your victim's mind into the hivemind for personal interrogation" + desc = "We link our victim's mind into the hivemind for personal interrogation." + helptext = "If we find a human mad enough to support our cause, this can be a helpful tool to stay in touch." + button_icon_state = "hivemind_link" chemical_cost = 0 dna_cost = 0 req_human = 1 diff --git a/code/game/gamemodes/changeling/powers/mimic_voice.dm b/code/game/gamemodes/changeling/powers/mimic_voice.dm index 2b2512f83e3..27211bd8a79 100644 --- a/code/game/gamemodes/changeling/powers/mimic_voice.dm +++ b/code/game/gamemodes/changeling/powers/mimic_voice.dm @@ -1,7 +1,8 @@ /datum/action/changeling/mimicvoice name = "Mimic Voice" - desc = "We shape our vocal glands to sound like a desired voice." + desc = "We shape our vocal glands to sound like a desired voice. Maintaining this power slows chemical production." helptext = "Will turn your voice into the name that you enter. We must constantly expend chemicals to maintain our form like this." + button_icon_state = "mimic_voice" chemical_cost = 0 //constant chemical drain hardcoded dna_cost = 1 req_human = 1 diff --git a/code/game/gamemodes/changeling/powers/mutations.dm b/code/game/gamemodes/changeling/powers/mutations.dm index 5baa7b62051..5629bc7085f 100644 --- a/code/game/gamemodes/changeling/powers/mutations.dm +++ b/code/game/gamemodes/changeling/powers/mutations.dm @@ -109,8 +109,9 @@ \***************************************/ /datum/action/changeling/weapon/arm_blade name = "Arm Blade" - desc = "We reform one of our arms into a deadly blade." - helptext = "Cannot be used while in lesser form." + desc = "We reform one of our arms into a deadly blade. Costs 25 chemicals." + helptext = "We may retract our armblade in the same manner as we form it. Cannot be used while in lesser form." + button_icon_state = "armblade" chemical_cost = 25 dna_cost = 2 genetic_damage = 10 @@ -179,10 +180,11 @@ /datum/action/changeling/weapon/tentacle name = "Tentacle" - desc = "We ready a tentacle to grab items or victims with." + desc = "We ready a tentacle to grab items or victims with. Costs 10 chemicals." helptext = "We can use it once to retrieve a distant item. If used on living creatures, the effect depends on the intent: \ Help will simply drag them closer, Disarm will grab whatever they are holding instead of them, Grab will put the victim in our hold after catching it, \ and Harm will stun it, and stab it if we are also holding a sharp weapon. Cannot be used while in lesser form." + button_icon_state = "tentacle" chemical_cost = 10 dna_cost = 2 genetic_damage = 5 @@ -352,8 +354,9 @@ \***************************************/ /datum/action/changeling/weapon/shield name = "Organic Shield" - desc = "We reform one of our arms into a hard shield." - helptext = "Organic tissue cannot resist damage forever, the shield will break after it is hit too much. The more genomes we absorb, the stronger it is. Cannot be used while in lesser form." + desc = "We reform one of our arms into a hard shield. Costs 20 chemicals." + helptext = "Organic tissue cannot resist damage forever. The shield will break after it is hit too much. The more genomes we absorb, the stronger it is. Cannot be used while in lesser form." + button_icon_state = "organic_shield" chemical_cost = 20 dna_cost = 1 genetic_damage = 12 @@ -406,8 +409,9 @@ \***************************************/ /datum/action/changeling/suit/organic_space_suit name = "Organic Space Suit" - desc = "We grow an organic suit to protect ourselves from space exposure." - helptext = "We must constantly repair our form to make it space-proof, reducing chemical production while we are protected. Retreating the suit damages our genomes. Cannot be used in lesser form." + desc = "We grow an organic suit to protect ourselves from space exposure. Costs 20 chemicals." + helptext = "We must constantly repair our form to make it space proof, reducing chemical production while we are protected. Cannot be used in lesser form." + button_icon_state = "organic_suit" chemical_cost = 20 dna_cost = 2 genetic_damage = 8 @@ -453,8 +457,9 @@ \***************************************/ /datum/action/changeling/suit/armor name = "Chitinous Armor" - desc = "We turn our skin into tough chitin to protect us from damage." - helptext = "Upkeep of the armor requires a low expenditure of chemicals. The armor is strong against brute force, but does not provide much protection from lasers. Retreating the armor damages our genomes. Cannot be used in lesser form." + desc = "We turn our skin into tough chitin to protect us from damage. Costs 25 chemicals." + helptext = "Upkeep of the armor requires a low expenditure of chemicals. The armor is strong against brute force, but does not provide much protection from lasers. Cannot be used in lesser form." + button_icon_state = "chitinous_armor" chemical_cost = 25 dna_cost = 2 genetic_damage = 11 diff --git a/code/game/gamemodes/changeling/powers/panacea.dm b/code/game/gamemodes/changeling/powers/panacea.dm index d00c56d0740..6e6d69cc1dd 100644 --- a/code/game/gamemodes/changeling/powers/panacea.dm +++ b/code/game/gamemodes/changeling/powers/panacea.dm @@ -1,7 +1,8 @@ /datum/action/changeling/panacea name = "Anatomic Panacea" - desc = "Expels impurifications from our form; curing diseases, removing parasites, sobering us, purging toxins and radiation, and resetting our genetic code completely." + desc = "Expels impurifications from our form, curing diseases, removing parasites, sobering us, purging toxins and radiation, and resetting our genetic code completely. Costs 20 chemicals." helptext = "Can be used while unconscious." + button_icon_state = "panacea" chemical_cost = 20 dna_cost = 1 req_stat = UNCONSCIOUS diff --git a/code/game/gamemodes/changeling/powers/revive.dm b/code/game/gamemodes/changeling/powers/revive.dm index e3c6c76ed7b..740d9fb25dc 100644 --- a/code/game/gamemodes/changeling/powers/revive.dm +++ b/code/game/gamemodes/changeling/powers/revive.dm @@ -1,6 +1,7 @@ /datum/action/changeling/revive name = "Regenerate" desc = "We regenerate, healing all damage from our form." + button_icon_state = "revive" req_stat = DEAD always_keep = 1 diff --git a/code/game/gamemodes/changeling/powers/shriek.dm b/code/game/gamemodes/changeling/powers/shriek.dm index 85c1d89289c..068092dde0d 100644 --- a/code/game/gamemodes/changeling/powers/shriek.dm +++ b/code/game/gamemodes/changeling/powers/shriek.dm @@ -1,12 +1,13 @@ /datum/action/changeling/resonant_shriek name = "Resonant Shriek" - desc = "Our lungs and vocal chords shift, allowing us to briefly emit a noise that deafens and confuses the weak-minded." - helptext = "Emits a high-frequency sound that confuses and deafens humans, blows out nearby lights and overloads cyborg sensors." + desc = "Our lungs and vocal cords shift, allowing us to briefly emit a noise that deafens and confuses the weak minded. Costs 30 chemicals." + helptext = "Emits a high frequency sound that confuses and deafens humans, blows out nearby lights and overloads cyborg sensors." + button_icon_state = "resonant_shriek" chemical_cost = 30 dna_cost = 1 req_human = 1 -//A flashy ability, good for crowd control and sewing chaos. +//A flashy ability, good for crowd control and sowing chaos. /datum/action/changeling/resonant_shriek/sting_action(var/mob/user) for(var/mob/living/M in get_mobs_in_view(4, user)) if(iscarbon(M)) @@ -30,7 +31,8 @@ /datum/action/changeling/dissonant_shriek name = "Dissonant Shriek" - desc = "We shift our vocal cords to release a high-frequency sound that overloads nearby electronics." + desc = "We shift our vocal cords to release a high frequency sound that overloads nearby electronics. Costs 30 chemicals." + button_icon_state = "dissonant_shriek" chemical_cost = 30 dna_cost = 1 diff --git a/code/game/gamemodes/changeling/powers/spiders.dm b/code/game/gamemodes/changeling/powers/spiders.dm index 133f4b8b30b..82b2db6ac7b 100644 --- a/code/game/gamemodes/changeling/powers/spiders.dm +++ b/code/game/gamemodes/changeling/powers/spiders.dm @@ -2,6 +2,7 @@ name = "Spread Infestation" desc = "Our form divides, creating arachnids which will grow into deadly beasts." helptext = "The spiders are thoughtless creatures, and may attack their creators when fully grown. Requires at least 5 DNA absorptions." + button_icon_state = "spread_infestation" chemical_cost = 45 dna_cost = 1 req_dna = 5 diff --git a/code/game/gamemodes/changeling/powers/strained_muscles.dm b/code/game/gamemodes/changeling/powers/strained_muscles.dm index d0ca6599722..10f8a5a5d77 100644 --- a/code/game/gamemodes/changeling/powers/strained_muscles.dm +++ b/code/game/gamemodes/changeling/powers/strained_muscles.dm @@ -5,6 +5,7 @@ name = "Strained Muscles" desc = "We evolve the ability to reduce the acid buildup in our muscles, allowing us to move much faster." helptext = "The strain will make us tired, and we will rapidly become fatigued. Standard weight restrictions, like hardsuits, still apply. Cannot be used in lesser form." + button_icon_state = "strained_muscles" chemical_cost = 0 dna_cost = 1 req_human = 1 diff --git a/code/game/gamemodes/changeling/powers/swap_form.dm b/code/game/gamemodes/changeling/powers/swap_form.dm index 3daf98d4a5e..18e7c85f1be 100644 --- a/code/game/gamemodes/changeling/powers/swap_form.dm +++ b/code/game/gamemodes/changeling/powers/swap_form.dm @@ -1,7 +1,8 @@ /datum/action/changeling/swap_form name = "Swap Forms" - desc = "We force ourselves into the body of another form, pushing their consciousness into the form we left behind." + desc = "We force ourselves into the body of another form, pushing their consciousness into the form we left behind. Costs 40 chemicals." helptext = "We will bring all our abilities with us, but we will lose our old form DNA in exchange for the new one. The process will seem suspicious to any observers." + button_icon_state = "mindswap" chemical_cost = 40 dna_cost = 1 req_human = 1 //Monkeys can't grab @@ -22,7 +23,6 @@ return return 1 - /datum/action/changeling/swap_form/sting_action(var/mob/living/carbon/user) var/obj/item/grab/G = user.get_active_hand() var/mob/living/carbon/human/target = G.affecting @@ -38,6 +38,10 @@ to_chat(target, "[user] tightens [user.p_their()] grip as a painful sensation invades your body.") + var/lingpowers = list() + for(var/power in changeling.purchasedpowers) + lingpowers += power + changeling.absorbed_dna -= changeling.find_dna(user.dna) changeling.protected_dna -= changeling.find_dna(user.dna) changeling.absorbedcount -= 1 @@ -55,6 +59,12 @@ user.Paralyse(2) target.add_language("Changeling") user.remove_language("Changeling") + user.regenerate_icons() + + for(var/power in lingpowers) + var/datum/action/changeling/S = power + if(istype(S) && S.needs_button) + S.Grant(target) to_chat(target, "Our genes cry out as we swap our [user] form for [target].") return 1 diff --git a/code/game/gamemodes/changeling/powers/tiny_prick.dm b/code/game/gamemodes/changeling/powers/tiny_prick.dm index 98b09a09653..94bde26674b 100644 --- a/code/game/gamemodes/changeling/powers/tiny_prick.dm +++ b/code/game/gamemodes/changeling/powers/tiny_prick.dm @@ -60,11 +60,11 @@ add_attack_logs(user, target, "Unsuccessful sting (changeling)") return 1 - /datum/action/changeling/sting/transformation name = "Transformation Sting" - desc = "We silently sting a human, injecting a retrovirus that forces them to transform." + desc = "We silently sting a human, injecting a retrovirus that forces them to transform. Costs 50 chemicals." helptext = "The victim will transform much like a changeling would. The effects will be obvious to the victim, and the process will damage our genomes." + button_icon_state = "sting_transform" sting_icon = "sting_transform" chemical_cost = 50 dna_cost = 3 @@ -116,8 +116,9 @@ datum/action/changeling/sting/extract_dna name = "Extract DNA Sting" - desc = "We stealthily sting a target and extract their DNA." + desc = "We stealthily sting a target and extract their DNA. Costs 25 chemicals." helptext = "Will give you the DNA of your target, allowing you to transform into them." + button_icon_state = "sting_extract" sting_icon = "sting_extract" chemical_cost = 25 dna_cost = 0 @@ -135,8 +136,9 @@ datum/action/changeling/sting/extract_dna datum/action/changeling/sting/mute name = "Mute Sting" - desc = "We silently sting a human, completely silencing them for a short time." + desc = "We silently sting a human, completely silencing them for a short time. Costs 20 chemicals." helptext = "Does not provide a warning to the victim that they have been stung, until they try to speak and cannot." + button_icon_state = "sting_mute" sting_icon = "sting_mute" chemical_cost = 20 dna_cost = 2 @@ -149,8 +151,9 @@ datum/action/changeling/sting/mute datum/action/changeling/sting/blind name = "Blind Sting" - desc = "Temporarily blinds the target." - helptext = "This sting completely blinds a target for a short time." + desc = "We temporarily blind our victim. Costs 25 chemicals." + helptext = "This sting completely blinds a target for a short time, and leaves them with blurred vision for a long time." + button_icon_state = "sting_blind" sting_icon = "sting_blind" chemical_cost = 25 dna_cost = 1 @@ -166,8 +169,9 @@ datum/action/changeling/sting/blind datum/action/changeling/sting/LSD name = "Hallucination Sting" - desc = "Causes terror in the target." + desc = "We cause mass terror to our victim. Costs 10 chemicals." helptext = "We evolve the ability to sting a target with a powerful hallucinogenic chemical. The target does not notice they have been stung, and the effect occurs after 30 to 60 seconds." + button_icon_state = "sting_lsd" sting_icon = "sting_lsd" chemical_cost = 10 dna_cost = 1 @@ -182,8 +186,9 @@ datum/action/changeling/sting/LSD datum/action/changeling/sting/cryo //Enable when mob cooling is fixed so that frostoil actually makes you cold, instead of mostly just hungry. name = "Cryogenic Sting" - desc = "We silently sting a human with a cocktail of chemicals that freeze them." + desc = "We silently sting our victim with a cocktail of chemicals that freezes them from the inside. Costs 15 chemicals." helptext = "Does not provide a warning to the victim, though they will likely realize they are suddenly freezing." + button_icon_state = "sting_cryo" sting_icon = "sting_cryo" chemical_cost = 15 dna_cost = 2 diff --git a/code/game/gamemodes/changeling/powers/transform.dm b/code/game/gamemodes/changeling/powers/transform.dm index cee784ad718..417fbaa052d 100644 --- a/code/game/gamemodes/changeling/powers/transform.dm +++ b/code/game/gamemodes/changeling/powers/transform.dm @@ -1,6 +1,7 @@ /datum/action/changeling/transform name = "Transform" - desc = "We take on the appearance and voice of one we have absorbed." + desc = "We take on the appearance and voice of one we have absorbed. Costs 5 chemicals." + button_icon_state = "transform" chemical_cost = 5 dna_cost = 0 req_dna = 1 diff --git a/code/modules/mob/living/simple_animal/hostile/headcrab.dm b/code/modules/mob/living/simple_animal/hostile/headcrab.dm index bbe1adedc2f..be22b6a60fb 100644 --- a/code/modules/mob/living/simple_animal/hostile/headcrab.dm +++ b/code/modules/mob/living/simple_animal/hostile/headcrab.dm @@ -1,4 +1,4 @@ -#define EGG_INCUBATION_TIME 120 +#define EGG_INCUBATION_TIME 10 /mob/living/simple_animal/hostile/headcrab name = "headslug" @@ -59,9 +59,6 @@ return target.attack_animal(src) - - - /obj/item/organ/internal/body_egg/changeling_egg name = "changeling egg" desc = "Twitching and disgusting." @@ -91,7 +88,12 @@ if(origin.changeling.can_absorb_dna(M, owner)) origin.changeling.absorb_dna(owner, M) - origin.changeling.purchasedpowers += new /datum/action/changeling/humanform(null) + var/datum/action/changeling/humanform/HF = new + HF.Grant(M) + for(var/power in origin.changeling.purchasedpowers) + var/datum/action/changeling/S = power + if(istype(S) && S.needs_button) + S.Grant(M) M.key = origin.key owner.gib() diff --git a/icons/mob/actions/actions.dmi b/icons/mob/actions/actions.dmi index b4d8a34a6e0..d5e82bcf01d 100644 Binary files a/icons/mob/actions/actions.dmi and b/icons/mob/actions/actions.dmi differ