Porting the mutation conflict system, and resizing quantum realm fix.
This commit is contained in:
@@ -31,6 +31,7 @@
|
||||
//MUT_EXTRA - A mutation that is in the mutations tab, and can be given and taken away through though the DNA console. Has a 0 before it's name in the mutation section of the dna console
|
||||
//MUT_OTHER Cannot be interacted with by players through normal means. I.E. wizards mutate
|
||||
|
||||
var/list/conflicts //any mutations that might conflict. put mutation typepath defines in here. make sure to enter it both ways (so that A conflicts with B, and B with A)
|
||||
var/can_chromosome = CHROMOSOME_NONE //can we take chromosomes? 0: CHROMOSOME_NEVER never, 1:CHROMOSOME_NONE yeah, 2: CHROMOSOME_USED no, already have one
|
||||
var/chromosome_name //purely cosmetic
|
||||
var/modified = FALSE //ugly but we really don't want chromosomes and on_acquiring to overlap and apply double the powers
|
||||
@@ -60,6 +61,14 @@
|
||||
return TRUE
|
||||
if(limb_req && !H.get_bodypart(limb_req))
|
||||
return TRUE
|
||||
for(var/M in H.dna.mutations)//check for conflicting powers
|
||||
var/datum/mutation/human/mewtayshun = M
|
||||
if(LAZYLEN(mewtayshun.conflicts))
|
||||
for(var/cons in mewtayshun.conflicts)
|
||||
var/datum/mutation/human/conflicter = cons
|
||||
if(conflicter == type)
|
||||
to_chat(H, "<span class='warning'>You feel your genes resisting something.</span>")
|
||||
return TRUE
|
||||
owner = H
|
||||
dna = H.dna
|
||||
dna.mutations += src
|
||||
|
||||
@@ -75,6 +75,7 @@
|
||||
quality = POSITIVE
|
||||
difficulty = 16
|
||||
instability = 5
|
||||
conflicts = list(GIGANTISM)
|
||||
locked = TRUE // Default intert species for now, so locked from regular pool.
|
||||
|
||||
/datum/mutation/human/dwarfism/on_acquiring(mob/living/carbon/human/owner)
|
||||
@@ -333,6 +334,7 @@
|
||||
desc = "The cells within the subject spread out to cover more area, making the subject appear larger."
|
||||
quality = MINOR_NEGATIVE
|
||||
difficulty = 12
|
||||
conflicts = list(DWARFISM)
|
||||
|
||||
/datum/mutation/human/gigantism/on_acquiring(mob/living/carbon/human/owner)
|
||||
if(..())
|
||||
|
||||
@@ -864,12 +864,13 @@
|
||||
glass_icon_state = "red_queen"
|
||||
glass_name = "Red Queen"
|
||||
glass_desc = "DRINK ME."
|
||||
var/current_size = 1
|
||||
var/current_size = RESIZE_DEFAULT_SIZE
|
||||
|
||||
/datum/reagent/consumable/red_queen/on_mob_life(mob/living/carbon/H)
|
||||
if(prob(75))
|
||||
return ..()
|
||||
var/newsize = pick(0.5, 0.75, 1, 1.50, 2)
|
||||
newsize *= RESIZE_DEFAULT_SIZE
|
||||
H.resize = newsize/current_size
|
||||
current_size = newsize
|
||||
H.update_transform()
|
||||
@@ -878,7 +879,8 @@
|
||||
..()
|
||||
|
||||
/datum/reagent/consumable/red_queen/on_mob_end_metabolize(mob/living/M)
|
||||
M.resize = 1/current_size
|
||||
M.resize = RESIZE_DEFAULT_SIZE/current_size
|
||||
current_size = RESIZE_DEFAULT_SIZE
|
||||
M.update_transform()
|
||||
..()
|
||||
|
||||
|
||||
@@ -1917,22 +1917,22 @@
|
||||
name = "Growth Serum"
|
||||
description = "A commercial chemical designed to help older men in the bedroom."//not really it just makes you a giant
|
||||
color = "#ff0000"//strong red. rgb 255, 0, 0
|
||||
var/current_size = 1
|
||||
var/current_size = RESIZE_DEFAULT_SIZE
|
||||
taste_description = "bitterness" // apparently what viagra tastes like
|
||||
|
||||
/datum/reagent/growthserum/on_mob_life(mob/living/carbon/H)
|
||||
var/newsize = current_size
|
||||
switch(volume)
|
||||
if(0 to 19)
|
||||
newsize = 1.25
|
||||
newsize = 1.25*RESIZE_DEFAULT_SIZE
|
||||
if(20 to 49)
|
||||
newsize = 1.5
|
||||
newsize = 1.5*RESIZE_DEFAULT_SIZE
|
||||
if(50 to 99)
|
||||
newsize = 2
|
||||
newsize = 2*RESIZE_DEFAULT_SIZE
|
||||
if(100 to 199)
|
||||
newsize = 2.5
|
||||
newsize = 2.5*RESIZE_DEFAULT_SIZE
|
||||
if(200 to INFINITY)
|
||||
newsize = 3.5
|
||||
newsize = 3.5*RESIZE_DEFAULT_SIZE
|
||||
|
||||
H.resize = newsize/current_size
|
||||
current_size = newsize
|
||||
@@ -1940,7 +1940,8 @@
|
||||
..()
|
||||
|
||||
/datum/reagent/growthserum/on_mob_end_metabolize(mob/living/M)
|
||||
M.resize = 1/current_size
|
||||
M.resize = RESIZE_DEFAULT_SIZE/current_size
|
||||
current_size = RESIZE_DEFAULT_SIZE
|
||||
M.update_transform()
|
||||
..()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user