mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-12 23:53:47 +01:00
Fixes Tajarans and all mutant races spawning with no hair, etc. Partially fixes morph mutation. Fixes mutations.
This commit is contained in:
@@ -134,7 +134,7 @@
|
||||
if(istype(M) && M.lying) //Pulling lying down people is slower
|
||||
tally += 3
|
||||
|
||||
if(mRun in mutations)
|
||||
if(MINCREASERUN in mutations)
|
||||
tally = 0
|
||||
|
||||
return tally
|
||||
|
||||
@@ -136,6 +136,9 @@
|
||||
lying_icon = new /icon('human.dmi', "body_[g]_l")
|
||||
icon = stand_icon
|
||||
rebuild_appearance()
|
||||
update_clothing()
|
||||
update_body()
|
||||
update_face()
|
||||
|
||||
src << "\blue Your icons have been generated!"
|
||||
|
||||
@@ -151,9 +154,10 @@
|
||||
|
||||
..()
|
||||
|
||||
spawn(5) // Failsafe for.. weirdness.
|
||||
update_clothing()
|
||||
spawn(33)
|
||||
update_body()
|
||||
update_clothing()
|
||||
update_face()
|
||||
|
||||
/*var/known_languages = list()
|
||||
known_languages.Add("english")*/
|
||||
@@ -315,7 +319,7 @@
|
||||
if(istype(M) && M.lying) //Pulling lying down people is slower
|
||||
tally += 3
|
||||
|
||||
if(mRun in mutations)
|
||||
if(MINCREASERUN in mutations)
|
||||
tally = 0
|
||||
|
||||
return tally
|
||||
@@ -2692,7 +2696,7 @@ It can still be worn/put on as normal.
|
||||
/mob/living/carbon/human/proc/morph()
|
||||
set name = "Morph"
|
||||
set category = "Superpower"
|
||||
if(!(mMorph in mutations))
|
||||
if(!(MMORPH in mutations))
|
||||
src.verbs -= /mob/living/carbon/human/proc/morph
|
||||
return
|
||||
|
||||
@@ -2772,17 +2776,21 @@ It can still be worn/put on as normal.
|
||||
gender = MALE
|
||||
else
|
||||
gender = FEMALE
|
||||
rebuild_appearance()
|
||||
update_body()
|
||||
check_dna()
|
||||
|
||||
for(var/mob/M in view())
|
||||
visible_message("\blue \The [src] morphs and changes [get_visible_gender() == MALE ? "his" : get_visible_gender() == FEMALE ? "her" : "their"] appearance!", "\blue You change your appearance!", "\red Oh, god! What the hell was that? It sounded like flesh getting squished and bone ground into a different shape!")
|
||||
|
||||
spawn(10)
|
||||
rebuild_appearance()
|
||||
update_body()
|
||||
update_clothing()
|
||||
update_face()
|
||||
|
||||
/mob/living/carbon/human/proc/remotesay()
|
||||
set name = "Project mind"
|
||||
set category = "Superpower"
|
||||
if(!(mRemotetalk in src.mutations))
|
||||
if(!(MREMOTETALK in src.mutations))
|
||||
src.verbs -= /mob/living/carbon/human/proc/remotesay
|
||||
return
|
||||
var/list/creatures = list()
|
||||
@@ -2793,7 +2801,7 @@ It can still be worn/put on as normal.
|
||||
return
|
||||
|
||||
var/say = input ("What do you wish to say")
|
||||
if(mRemotetalk in target.mutations)
|
||||
if(MREMOTETALK in target.mutations)
|
||||
target.show_message("\blue You hear [src.real_name]'s voice: [say]")
|
||||
else
|
||||
target.show_message("\blue You hear a voice that seems to echo around the room: [say]")
|
||||
@@ -2807,7 +2815,7 @@ It can still be worn/put on as normal.
|
||||
set name = "Remote View"
|
||||
set category = "Superpower"
|
||||
|
||||
if(!(mRemote in src.mutations))
|
||||
if(!(MREMOTEVIEW in src.mutations))
|
||||
reset_view(0)
|
||||
remoteobserve = null
|
||||
src.verbs -= /mob/living/carbon/human/proc/remoteobserve
|
||||
|
||||
@@ -56,19 +56,20 @@
|
||||
|
||||
if (stat != 2) //still breathing
|
||||
|
||||
if(!(MNOBREATH in mutations)) //No breathing needed
|
||||
|
||||
//First, resolve location and get a breath
|
||||
//First, resolve location and get a breath
|
||||
|
||||
if(air_master.current_cycle%4==2)
|
||||
//Only try to take a breath every 4 seconds, unless suffocating
|
||||
spawn(0) breathe()
|
||||
if(air_master.current_cycle%4==2)
|
||||
//Only try to take a breath every 4 seconds, unless suffocating
|
||||
spawn(0) breathe()
|
||||
|
||||
else //Still give containing object the chance to interact
|
||||
if(istype(loc, /obj/))
|
||||
var/obj/location_as_object = loc
|
||||
location_as_object.handle_internal_lifeform(src, 0)
|
||||
else //Still give containing object the chance to interact
|
||||
if(istype(loc, /obj/))
|
||||
var/obj/location_as_object = loc
|
||||
location_as_object.handle_internal_lifeform(src, 0)
|
||||
|
||||
src.handle_shock()
|
||||
src.handle_shock()
|
||||
|
||||
//Apparently, the person who wrote this code designed it so that
|
||||
//blinded get reset each cycle and then get activated later in the
|
||||
@@ -168,7 +169,7 @@
|
||||
|
||||
|
||||
handle_disabilities()
|
||||
if(mHallucination in mutations)
|
||||
if(MHALLUCINATION in mutations)
|
||||
hallucination = 100
|
||||
halloss = 0
|
||||
|
||||
@@ -198,7 +199,7 @@
|
||||
Paralyse(15)
|
||||
setHalLoss(99)
|
||||
|
||||
if(mSmallsize in mutations)
|
||||
if(MSMALLSIZE in mutations)
|
||||
if(!(pass_flags & PASSTABLE))
|
||||
pass_flags |= PASSTABLE
|
||||
else
|
||||
@@ -207,7 +208,7 @@
|
||||
|
||||
|
||||
|
||||
if (mRegen in mutations)
|
||||
if (MREGENERATE in mutations)
|
||||
adjustBruteLoss(-2)
|
||||
adjustToxLoss(-2)
|
||||
adjustOxyLoss(-2)
|
||||
@@ -215,24 +216,24 @@
|
||||
updatehealth()
|
||||
|
||||
if(!(/mob/living/carbon/human/proc/morph in src.verbs))
|
||||
if(mMorph in mutations)
|
||||
if(MMORPH in mutations)
|
||||
src.verbs += /mob/living/carbon/human/proc/morph
|
||||
else
|
||||
if(!(mMorph in mutations))
|
||||
if(!(MMORPH in mutations))
|
||||
src.verbs -= /mob/living/carbon/human/proc/morph
|
||||
|
||||
if(!(/mob/living/carbon/human/proc/remoteobserve in src.verbs))
|
||||
if(mRemote in mutations)
|
||||
if(MREMOTEVIEW in mutations)
|
||||
src.verbs += /mob/living/carbon/human/proc/remoteobserve
|
||||
else
|
||||
if(!(mRemote in mutations))
|
||||
if(!(MREMOTEVIEW in mutations))
|
||||
src.verbs -= /mob/living/carbon/human/proc/remoteobserve
|
||||
|
||||
if(!(/mob/living/carbon/human/proc/remotesay in src.verbs))
|
||||
if(mRemotetalk in mutations)
|
||||
if(MREMOTETALK in mutations)
|
||||
src.verbs += /mob/living/carbon/human/proc/remotesay
|
||||
else
|
||||
if(!(mRemotetalk in mutations))
|
||||
if(!(MREMOTETALK in mutations))
|
||||
src.verbs -= /mob/living/carbon/human/proc/remotesay
|
||||
|
||||
|
||||
@@ -380,6 +381,7 @@
|
||||
**/
|
||||
breathe()
|
||||
|
||||
if(MNOBREATH in mutations) return
|
||||
if(reagents.has_reagent("lexorin")) return
|
||||
if(istype(loc, /obj/machinery/atmospherics/unary/cryo_cell)) return
|
||||
|
||||
@@ -487,7 +489,7 @@
|
||||
canmove = 1
|
||||
|
||||
handle_breath(datum/gas_mixture/breath)
|
||||
if(nodamage || REBREATHER in augmentations || (mNobreath in mutations))
|
||||
if(nodamage || REBREATHER in augmentations || MNOBREATH in mutations)
|
||||
return
|
||||
|
||||
if(!breath || (breath.total_moles == 0))
|
||||
@@ -1456,7 +1458,7 @@
|
||||
if (machine)
|
||||
if (!( machine.check_eye(src) ))
|
||||
reset_view(null)
|
||||
else if(!(mRemote in mutations) && !client.adminobs)
|
||||
else if(!(MREMOTEVIEW in mutations) && !client.adminobs)
|
||||
reset_view(null)
|
||||
if(remoteobserve)
|
||||
remoteobserve = null
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
//sort of a legacy burn method for /electrocute, /shock, and the e_chair
|
||||
/mob/living/proc/burn_skin(burn_amount, used_weapon = null)
|
||||
if(istype(src, /mob/living/carbon/human))
|
||||
if(mShock in src.mutations)
|
||||
if(MSHOCK in src.mutations)
|
||||
return 0
|
||||
//world << "DEBUG: burn_skin(), mutations=[mutations]"
|
||||
if (COLD_RESISTANCE in src.mutations) //fireproof
|
||||
|
||||
@@ -358,14 +358,17 @@
|
||||
preferences.randomize_appearance_for(new_character)
|
||||
else
|
||||
preferences.copy_to(new_character)
|
||||
if((preferences.species == "Soghun") && (is_alien_whitelisted(src, "Soghun"))) //This probably shouldn't be here, but I can't think of any other way
|
||||
if((preferences.species == "Soghun") && ((is_alien_whitelisted(src, "Soghun")) || !config.usealienwhitelist)) //This probably shouldn't be here, but I can't think of any other way
|
||||
new_character.mutantrace = "lizard"
|
||||
new_character.soghun_talk_understand = 1
|
||||
new_character.voice_name = "Soghun"
|
||||
if((preferences.species == "Skrell") && (is_alien_whitelisted(src, "Skrell")))
|
||||
if((preferences.species == "Skrell") && ((is_alien_whitelisted(src, "Skrell")) || !config.usealienwhitelist))
|
||||
new_character.mutantrace = "skrell"
|
||||
new_character.skrell_talk_understand = 1
|
||||
new_character.voice_name = "Skrell"
|
||||
new_character.update_clothing()
|
||||
new_character.update_body()
|
||||
new_character.update_face() //Hotfix for non-updating sprites.
|
||||
src << sound(null, repeat = 0, wait = 0, volume = 85, channel = 1)
|
||||
|
||||
new_character.dna.ready_dna(new_character)
|
||||
|
||||
Reference in New Issue
Block a user