diff --git a/code/game/gamemodes/changeling/helpers/_store.dm b/code/game/gamemodes/changeling/helpers/_store.dm index 706047c8780..d3ad55cb75b 100644 --- a/code/game/gamemodes/changeling/helpers/_store.dm +++ b/code/game/gamemodes/changeling/helpers/_store.dm @@ -10,7 +10,10 @@ var/list/datum/power/changeling/powerinstances = list() /datum/power/changeling var/allowduringlesserform = FALSE - var/genomecost = 69420 // Cost for the changeling to evolve this power. + /// How many absorbed DNAs we must have before buying this power. + var/required_dna = 0 + /// Cost for the changeling to evolve this power. + var/genomecost = 69420 /datum/power/changeling/respec name = "Re-adapt" @@ -273,6 +276,7 @@ var/list/datum/power/changeling/powerinstances = list() 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 + required_dna = 3 verbpath = /mob/proc/horror_form // Modularchangling, totally stolen from the new player panel. YAYY @@ -556,13 +560,19 @@ var/list/datum/power/changeling/powerinstances = list() if(power == null) to_chat(M.current, SPAN_WARNING("This is awkward. Changeling power purchase failed, please report this bug to a coder!")) return + if(power in purchasedpowers) to_chat(M.current, SPAN_WARNING("We have already evolved this ability!")) return + if(geneticpoints < power.genomecost) to_chat(M.current, SPAN_WARNING("We lack the genome to evolve this. Re-evolve yourself to reset your genome points.")) return + if(absorbed_dna < power.required_dna) + to_chat(M.current, SPAN_WARNING("Our DNA structure is not complex enough to evolve this. We need at least [(power.required_dna - absorbed_dna)] more assimilated DNA structures to buy it.")) + return + geneticpoints -= power.genomecost purchasedpowers += power diff --git a/html/changelogs/mattatlas-higherandhigher.yml b/html/changelogs/mattatlas-higherandhigher.yml new file mode 100644 index 00000000000..64418f7531c --- /dev/null +++ b/html/changelogs/mattatlas-higherandhigher.yml @@ -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: MattAtlas + +# 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: "Horror Form now needs 3 absorbed DNAs to be bought."