mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 10:21:11 +00:00
Fix greys not getting REMOTETALK on roundstart.
This commit is contained in:
@@ -14,51 +14,16 @@ var/global/list/assigned_blocks[STRUCDNASIZE]
|
||||
BLOCKADD = rand(-300,300)
|
||||
if (prob(75))
|
||||
DIFFMUT = rand(0,20)
|
||||
/*
|
||||
var/list/avnums = new/list()
|
||||
var/tempnum
|
||||
|
||||
avnums.Add(2)
|
||||
avnums.Add(12)
|
||||
avnums.Add(10)
|
||||
avnums.Add(8)
|
||||
avnums.Add(4)
|
||||
avnums.Add(11)
|
||||
avnums.Add(13)
|
||||
avnums.Add(6)
|
||||
|
||||
tempnum = pick(avnums)
|
||||
avnums.Remove(tempnum)
|
||||
HULKBLOCK = tempnum
|
||||
tempnum = pick(avnums)
|
||||
avnums.Remove(tempnum)
|
||||
TELEBLOCK = tempnum
|
||||
tempnum = pick(avnums)
|
||||
avnums.Remove(tempnum)
|
||||
FIREBLOCK = tempnum
|
||||
tempnum = pick(avnums)
|
||||
avnums.Remove(tempnum)
|
||||
XRAYBLOCK = tempnum
|
||||
tempnum = pick(avnums)
|
||||
avnums.Remove(tempnum)
|
||||
CLUMSYBLOCK = tempnum
|
||||
tempnum = pick(avnums)
|
||||
avnums.Remove(tempnum)
|
||||
FAKEBLOCK = tempnum
|
||||
tempnum = pick(avnums)
|
||||
avnums.Remove(tempnum)
|
||||
DEAFBLOCK = tempnum
|
||||
tempnum = pick(avnums)
|
||||
avnums.Remove(tempnum)
|
||||
BLINDBLOCK = tempnum
|
||||
*/
|
||||
//Thanks to nexis for the fancy code
|
||||
var/list/numsToAssign=new()
|
||||
for(var/i=1;i<STRUCDNASIZE;i++)
|
||||
numsToAssign += i
|
||||
|
||||
testing("Assigning DNA blocks:")
|
||||
message_admins("Assigning DNA blocks:")
|
||||
//message_admins("Assigning DNA blocks:")
|
||||
|
||||
// Standard muts
|
||||
BLINDBLOCK = getAssignedBlock("BLIND", numsToAssign)
|
||||
DEAFBLOCK = getAssignedBlock("DEAF", numsToAssign)
|
||||
@@ -91,7 +56,7 @@ var/global/list/assigned_blocks[STRUCDNASIZE]
|
||||
|
||||
// HIDDEN MUTATIONS / SUPERPOWERS INITIALIZTION
|
||||
|
||||
/*
|
||||
/*
|
||||
for(var/x in typesof(/datum/mutations) - /datum/mutations)
|
||||
var/datum/mutations/mut = new x
|
||||
|
||||
@@ -108,8 +73,23 @@ var/global/list/assigned_blocks[STRUCDNASIZE]
|
||||
|
||||
|
||||
global_mutations += mut// add to global mutations list!
|
||||
*/
|
||||
*/
|
||||
|
||||
// Run AFTER genetics setup and AFTER species setup.
|
||||
/proc/setup_species()
|
||||
// SPECIES GENETICS FUN
|
||||
for(var/name in all_species)
|
||||
// I hate BYOND. Can't just call while it's in the list.
|
||||
var/datum/species/species = all_species[name]
|
||||
if(species.default_block_names.len>0)
|
||||
testing("Setting up genetics for [species.name] (needs [english_list(species.default_block_names)])")
|
||||
species.default_blocks.Cut()
|
||||
for(var/block=1;block<STRUCDNASIZE;block++)
|
||||
if(assigned_blocks[block] in species.default_block_names)
|
||||
testing(" Found [assigned_blocks[block]] ([block])")
|
||||
species.default_blocks.Add(block)
|
||||
if(species.default_blocks.len)
|
||||
all_species[name]=species
|
||||
|
||||
/proc/setupfactions()
|
||||
|
||||
|
||||
@@ -1357,9 +1357,8 @@ mob/living/carbon/human/yank_out_object()
|
||||
else
|
||||
see_invisible = SEE_INVISIBLE_LIVING
|
||||
|
||||
//testing("Mutations = "+english_list(mutations))
|
||||
mutations+=species.default_mutations
|
||||
//testing("SpeciesMut + Mutations = "+english_list(mutations))
|
||||
if(species.default_mutations.len>0 || species.default_blocks.len>0)
|
||||
do_deferred_species_setup=1
|
||||
|
||||
spawn(0)
|
||||
update_icons()
|
||||
@@ -1368,3 +1367,4 @@ mob/living/carbon/human/yank_out_object()
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
|
||||
|
||||
@@ -29,7 +29,30 @@
|
||||
var/prev_gender = null // Debug for plural genders
|
||||
var/temperature_alert = 0
|
||||
var/in_stasis = 0
|
||||
var/do_deferred_species_setup=0
|
||||
|
||||
// Doing this during species init breaks shit.
|
||||
/mob/living/carbon/human/proc/DeferredSpeciesSetup()
|
||||
//testing("Mutations = "+english_list(mutations))
|
||||
var/mut_update=0
|
||||
if(species.default_mutations.len>0)
|
||||
for(var/mutation in species.default_mutations)
|
||||
if(!(mutation in mutations))
|
||||
//src << "TESTING [__FILE__]:[__LINE__]: Added mutation [mutation]."
|
||||
mutations.Add(mutation)
|
||||
mut_update=1
|
||||
if(species.default_blocks.len>0)
|
||||
for(var/block in species.default_blocks)
|
||||
// DNA2 should make this less of a clusterfuck.
|
||||
if(!ismuton(block,src))
|
||||
dna.struc_enzymes = setblock(dna.struc_enzymes,block,toggledblock(getblock(dna.struc_enzymes,block,3)),3)
|
||||
//src << "TESTING [__FILE__]:[__LINE__]: Set block [block] to on."
|
||||
mut_update=1
|
||||
if(mut_update)
|
||||
//src << "TESTING [__FILE__]:[__LINE__]: Forcing domutcheck() and update_mutations()."
|
||||
domutcheck(src)
|
||||
update_mutations()
|
||||
//testing("SpeciesMut + Mutations = "+english_list(mutations))
|
||||
|
||||
/mob/living/carbon/human/Life()
|
||||
set invisibility = 0
|
||||
@@ -40,6 +63,10 @@
|
||||
|
||||
..()
|
||||
|
||||
if(do_deferred_species_setup)
|
||||
DeferredSpeciesSetup()
|
||||
do_deferred_species_setup=0
|
||||
|
||||
//Apparently, the person who wrote this code designed it so that
|
||||
//blinded get reset each cycle and then get activated later in the
|
||||
//code. Very ugly. I dont care. Moving this stuff here so its easy
|
||||
|
||||
@@ -38,7 +38,9 @@
|
||||
|
||||
// For grays
|
||||
var/max_hurt_damage = 5 // Max melee damage dealt + 5 if hulk
|
||||
var/default_mutations = list()
|
||||
var/list/default_mutations = list()
|
||||
var/list/default_blocks = list() // Don't touch.
|
||||
var/list/default_block_names = list() // Use this instead, using the names from setupgame.dm
|
||||
|
||||
var/flags = 0 // Various specific features.
|
||||
|
||||
@@ -111,12 +113,15 @@
|
||||
eyes = "grey_eyes_s"
|
||||
|
||||
max_hurt_damage = 3 // From 5 (for humans)
|
||||
default_mutations=list(mRemotetalk) // TK is also another candidate, but TK is overpowered as fuck.
|
||||
|
||||
primitive = /mob/living/carbon/monkey // TODO
|
||||
|
||||
flags = WHITELISTED | HAS_LIPS | HAS_UNDERWEAR | CAN_BE_FAT
|
||||
|
||||
// Both must be set or it's only a 45% chance of manifesting.
|
||||
default_mutations=list(mRemotetalk)
|
||||
default_block_names=list("REMOTETALK")
|
||||
|
||||
/datum/species/skrell
|
||||
name = "Skrell"
|
||||
icobase = 'icons/mob/human_races/r_skrell.dmi'
|
||||
|
||||
@@ -92,6 +92,8 @@
|
||||
spawn(1)
|
||||
master_controller.setup()
|
||||
|
||||
setup_species()
|
||||
|
||||
process_teleport_locs() //Sets up the wizard teleport locations
|
||||
process_ghost_teleport_locs() //Sets up ghost teleport locations.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user