mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 18:32:03 +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)
|
BLOCKADD = rand(-300,300)
|
||||||
if (prob(75))
|
if (prob(75))
|
||||||
DIFFMUT = rand(0,20)
|
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
|
//Thanks to nexis for the fancy code
|
||||||
var/list/numsToAssign=new()
|
var/list/numsToAssign=new()
|
||||||
for(var/i=1;i<STRUCDNASIZE;i++)
|
for(var/i=1;i<STRUCDNASIZE;i++)
|
||||||
numsToAssign += i
|
numsToAssign += i
|
||||||
|
|
||||||
testing("Assigning DNA blocks:")
|
testing("Assigning DNA blocks:")
|
||||||
message_admins("Assigning DNA blocks:")
|
//message_admins("Assigning DNA blocks:")
|
||||||
|
|
||||||
// Standard muts
|
// Standard muts
|
||||||
BLINDBLOCK = getAssignedBlock("BLIND", numsToAssign)
|
BLINDBLOCK = getAssignedBlock("BLIND", numsToAssign)
|
||||||
DEAFBLOCK = getAssignedBlock("DEAF", numsToAssign)
|
DEAFBLOCK = getAssignedBlock("DEAF", numsToAssign)
|
||||||
@@ -91,7 +56,7 @@ var/global/list/assigned_blocks[STRUCDNASIZE]
|
|||||||
|
|
||||||
// HIDDEN MUTATIONS / SUPERPOWERS INITIALIZTION
|
// HIDDEN MUTATIONS / SUPERPOWERS INITIALIZTION
|
||||||
|
|
||||||
/*
|
/*
|
||||||
for(var/x in typesof(/datum/mutations) - /datum/mutations)
|
for(var/x in typesof(/datum/mutations) - /datum/mutations)
|
||||||
var/datum/mutations/mut = new x
|
var/datum/mutations/mut = new x
|
||||||
|
|
||||||
@@ -108,8 +73,23 @@ var/global/list/assigned_blocks[STRUCDNASIZE]
|
|||||||
|
|
||||||
|
|
||||||
global_mutations += mut// add to global mutations list!
|
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()
|
/proc/setupfactions()
|
||||||
|
|
||||||
|
|||||||
@@ -1357,9 +1357,8 @@ mob/living/carbon/human/yank_out_object()
|
|||||||
else
|
else
|
||||||
see_invisible = SEE_INVISIBLE_LIVING
|
see_invisible = SEE_INVISIBLE_LIVING
|
||||||
|
|
||||||
//testing("Mutations = "+english_list(mutations))
|
if(species.default_mutations.len>0 || species.default_blocks.len>0)
|
||||||
mutations+=species.default_mutations
|
do_deferred_species_setup=1
|
||||||
//testing("SpeciesMut + Mutations = "+english_list(mutations))
|
|
||||||
|
|
||||||
spawn(0)
|
spawn(0)
|
||||||
update_icons()
|
update_icons()
|
||||||
@@ -1368,3 +1367,4 @@ mob/living/carbon/human/yank_out_object()
|
|||||||
return 1
|
return 1
|
||||||
else
|
else
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,30 @@
|
|||||||
var/prev_gender = null // Debug for plural genders
|
var/prev_gender = null // Debug for plural genders
|
||||||
var/temperature_alert = 0
|
var/temperature_alert = 0
|
||||||
var/in_stasis = 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()
|
/mob/living/carbon/human/Life()
|
||||||
set invisibility = 0
|
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
|
//Apparently, the person who wrote this code designed it so that
|
||||||
//blinded get reset each cycle and then get activated later in the
|
//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
|
//code. Very ugly. I dont care. Moving this stuff here so its easy
|
||||||
|
|||||||
@@ -38,7 +38,9 @@
|
|||||||
|
|
||||||
// For grays
|
// For grays
|
||||||
var/max_hurt_damage = 5 // Max melee damage dealt + 5 if hulk
|
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.
|
var/flags = 0 // Various specific features.
|
||||||
|
|
||||||
@@ -111,12 +113,15 @@
|
|||||||
eyes = "grey_eyes_s"
|
eyes = "grey_eyes_s"
|
||||||
|
|
||||||
max_hurt_damage = 3 // From 5 (for humans)
|
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
|
primitive = /mob/living/carbon/monkey // TODO
|
||||||
|
|
||||||
flags = WHITELISTED | HAS_LIPS | HAS_UNDERWEAR | CAN_BE_FAT
|
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
|
/datum/species/skrell
|
||||||
name = "Skrell"
|
name = "Skrell"
|
||||||
icobase = 'icons/mob/human_races/r_skrell.dmi'
|
icobase = 'icons/mob/human_races/r_skrell.dmi'
|
||||||
|
|||||||
@@ -92,6 +92,8 @@
|
|||||||
spawn(1)
|
spawn(1)
|
||||||
master_controller.setup()
|
master_controller.setup()
|
||||||
|
|
||||||
|
setup_species()
|
||||||
|
|
||||||
process_teleport_locs() //Sets up the wizard teleport locations
|
process_teleport_locs() //Sets up the wizard teleport locations
|
||||||
process_ghost_teleport_locs() //Sets up ghost teleport locations.
|
process_ghost_teleport_locs() //Sets up ghost teleport locations.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user