Merge remote-tracking branch 'polaris/master' into pixel_projectiles

This commit is contained in:
kevinz000
2019-01-16 08:19:12 -08:00
177 changed files with 2688 additions and 1708 deletions

View File

@@ -20,7 +20,8 @@
var/adult_name
var/instance_num
/mob/living/carbon/alien/New()
/mob/living/carbon/alien/Initialize()
. = ..()
time_of_birth = world.time
@@ -37,8 +38,6 @@
gender = NEUTER
..()
/mob/living/carbon/alien/u_equip(obj/item/W as obj)
return

View File

@@ -20,9 +20,8 @@
holder_type = /obj/item/weapon/holder/diona
var/obj/item/hat
/mob/living/carbon/alien/diona/New()
..()
/mob/living/carbon/alien/diona/Initialize()
. = ..()
species = all_species[SPECIES_DIONA]
add_language(LANGUAGE_ROOTGLOBAL)
add_language(LANGUAGE_GALCOM)

View File

@@ -9,7 +9,7 @@
health = 25
faction = "xeno"
/mob/living/carbon/alien/larva/New()
..()
/mob/living/carbon/alien/larva/Initialize()
. = ..()
add_language("Xenomorph") //Bonus language.
internal_organs |= new /obj/item/organ/internal/xenos/hivenode(src)

View File

@@ -9,45 +9,45 @@
icon = 'icons/obj/surgery.dmi'
icon_state = "brain1"
New()
var/datum/reagents/R = new/datum/reagents(1000)
reagents = R
R.my_atom = src
..()
/mob/living/carbon/brain/Initialize()
. = ..()
var/datum/reagents/R = new/datum/reagents(1000)
reagents = R
R.my_atom = src
Destroy()
if(key) //If there is a mob connected to this thing. Have to check key twice to avoid false death reporting.
if(stat!=DEAD) //If not dead.
death(1) //Brains can die again. AND THEY SHOULD AHA HA HA HA HA HA
ghostize() //Ghostize checks for key so nothing else is necessary.
return ..()
/mob/living/carbon/brain/Destroy()
if(key) //If there is a mob connected to this thing. Have to check key twice to avoid false death reporting.
if(stat!=DEAD) //If not dead.
death(1) //Brains can die again. AND THEY SHOULD AHA HA HA HA HA HA
ghostize() //Ghostize checks for key so nothing else is necessary.
return ..()
say_understands(var/other)//Goddamn is this hackish, but this say code is so odd
if (istype(other, /mob/living/silicon/ai))
if(!(container && istype(container, /obj/item/device/mmi)))
return 0
else
return 1
if (istype(other, /mob/living/silicon/decoy))
if(!(container && istype(container, /obj/item/device/mmi)))
return 0
else
return 1
if (istype(other, /mob/living/silicon/pai))
if(!(container && istype(container, /obj/item/device/mmi)))
return 0
else
return 1
if (istype(other, /mob/living/silicon/robot))
if(!(container && istype(container, /obj/item/device/mmi)))
return 0
else
return 1
if (istype(other, /mob/living/carbon/human))
/mob/living/carbon/brain/say_understands(var/other)//Goddamn is this hackish, but this say code is so odd
if (istype(other, /mob/living/silicon/ai))
if(!(container && istype(container, /obj/item/device/mmi)))
return 0
else
return 1
if (istype(other, /mob/living/simple_mob/slime))
if (istype(other, /mob/living/silicon/decoy))
if(!(container && istype(container, /obj/item/device/mmi)))
return 0
else
return 1
return ..()
if (istype(other, /mob/living/silicon/pai))
if(!(container && istype(container, /obj/item/device/mmi)))
return 0
else
return 1
if (istype(other, /mob/living/silicon/robot))
if(!(container && istype(container, /obj/item/device/mmi)))
return 0
else
return 1
if (istype(other, /mob/living/carbon/human))
return 1
if (istype(other, /mob/living/simple_mob/slime))
return 1
return ..()
/mob/living/carbon/brain/update_canmove()
if(in_contents_of(/obj/mecha) || istype(loc, /obj/item/device/mmi))

View File

@@ -1,4 +1,5 @@
/mob/living/carbon/New()
/mob/living/carbon/Initialize()
. = ..()
//setup reagent holders
bloodstr = new/datum/reagents/metabolism/bloodstream(500, src)
ingested = new/datum/reagents/metabolism/ingested(500, src)
@@ -6,7 +7,6 @@
reagents = bloodstr
if (!default_language && species_language)
default_language = all_languages[species_language]
..()
/mob/living/carbon/Life()
..()

View File

@@ -20,8 +20,7 @@
var/active_regen = FALSE //Used for the regenerate proc in human_powers.dm
var/active_regen_delay = 300
/mob/living/carbon/human/New(var/new_loc, var/new_species = null)
/mob/living/carbon/human/Initialize(mapload, var/new_species = null)
if(!dna)
dna = new /datum/dna(null)
// Species name is handled by set_species()
@@ -42,7 +41,7 @@
human_mob_list |= src
..()
. = ..()
hide_underwear.Cut()
for(var/category in global_underwear.categories_by_name)

View File

@@ -5,10 +5,9 @@
worn_state = "punpun"
species_restricted = list("Monkey")
/mob/living/carbon/human/monkey/punpun/New()
..()
spawn(1)
name = "Pun Pun"
real_name = name
w_uniform = new /obj/item/clothing/under/punpun(src)
regenerate_icons()
/mob/living/carbon/human/monkey/punpun/Initialize()
. = ..()
name = "Pun Pun"
real_name = name
w_uniform = new /obj/item/clothing/under/punpun(src)
regenerate_icons()

View File

@@ -356,8 +356,8 @@
origin_tech = list(TECH_BIO = 4)
var/grown = 0
/obj/item/weapon/reagent_containers/food/snacks/egg/slime/New()
..()
/obj/item/weapon/reagent_containers/food/snacks/egg/slime/Initialize()
. = ..()
reagents.add_reagent("nutriment", 4)
reagents.add_reagent("slimejelly", 1)
spawn(rand(1200,1500))//the egg takes a while to "ripen"

View File

@@ -197,7 +197,7 @@
medicalActive1 = null
medicalActive2 = null
medical_cannotfind = 0
GLOB.nanomanager.update_uis(src)
SSnanoui.update_uis(src)
usr << "<span class='notice'>You reset your record-viewing software.</span>"
/mob/living/silicon/pai/cancel_camera()

View File

@@ -90,7 +90,7 @@ var/global/list/default_pai_software = list()
data["emotions"] = emotions
data["current_emotion"] = card.current_emotion
ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open)
if (!ui)
ui = new(user, src, ui_key, "pai_interface.tmpl", "pAI Software Interface", 450, 600)
ui.set_initial_data(data)

View File

@@ -36,7 +36,7 @@
data["prime"] = user.pai_law0
data["supplemental"] = user.pai_laws
ui = GLOB.nanomanager.try_update_ui(user, user, id, ui, data, force_open)
ui = SSnanoui.try_update_ui(user, user, id, ui, data, force_open)
if(!ui)
// Don't copy-paste this unless you're making a pAI software module!
ui = new(user, user, id, "pai_directives.tmpl", "pAI Directives", 450, 600)
@@ -102,7 +102,7 @@
data["channels"] = channels
ui = GLOB.nanomanager.try_update_ui(user, user, id, ui, data, force_open)
ui = SSnanoui.try_update_ui(user, user, id, ui, data, force_open)
if(!ui)
ui = new(user, user, id, "pai_radio.tmpl", "Radio Configuration", 300, 150)
ui.set_initial_data(data)
@@ -128,7 +128,7 @@
// This is dumb, but NanoUI breaks if it has no data to send
data["manifest"] = PDA_Manifest
ui = GLOB.nanomanager.try_update_ui(user, user, id, ui, data, force_open)
ui = SSnanoui.try_update_ui(user, user, id, ui, data, force_open)
if(!ui)
// Don't copy-paste this unless you're making a pAI software module!
ui = new(user, user, id, "crew_manifest.tmpl", "Crew Manifest", 450, 600)
@@ -178,7 +178,7 @@
data["messages"] = messages
ui = GLOB.nanomanager.try_update_ui(user, user, id, ui, data, force_open)
ui = SSnanoui.try_update_ui(user, user, id, ui, data, force_open)
if(!ui)
// Don't copy-paste this unless you're making a pAI software module!
ui = new(user, user, id, "pai_messenger.tmpl", "Digital Messenger", 450, 600)
@@ -236,7 +236,7 @@
data["medical"] = M ? M.fields : null
data["could_not_find"] = user.medical_cannotfind
ui = GLOB.nanomanager.try_update_ui(user, user, id, ui, data, force_open)
ui = SSnanoui.try_update_ui(user, user, id, ui, data, force_open)
if(!ui)
// Don't copy-paste this unless you're making a pAI software module!
ui = new(user, user, id, "pai_medrecords.tmpl", "Medical Records", 450, 600)
@@ -290,7 +290,7 @@
data["security"] = S ? S.fields : null
data["could_not_find"] = user.security_cannotfind
ui = GLOB.nanomanager.try_update_ui(user, user, id, ui, data, force_open)
ui = SSnanoui.try_update_ui(user, user, id, ui, data, force_open)
if(!ui)
// Don't copy-paste this unless you're making a pAI software module!
ui = new(user, user, id, "pai_secrecords.tmpl", "Security Records", 450, 600)
@@ -340,7 +340,7 @@
data["progress_b"] = user.hackprogress % 10
data["aborted"] = user.hack_aborted
ui = GLOB.nanomanager.try_update_ui(user, user, id, ui, data, force_open)
ui = SSnanoui.try_update_ui(user, user, id, ui, data, force_open)
if(!ui)
// Don't copy-paste this unless you're making a pAI software module!
ui = new(user, user, id, "pai_doorjack.tmpl", "Door Jack", 300, 150)
@@ -431,7 +431,7 @@
gases[++gases.len] = gas
data["gas"] = gases
ui = GLOB.nanomanager.try_update_ui(user, user, id, ui, data, force_open)
ui = SSnanoui.try_update_ui(user, user, id, ui, data, force_open)
if(!ui)
// Don't copy-paste this unless you're making a pAI software module!
ui = new(user, user, id, "pai_atmosphere.tmpl", "Atmosphere Sensor", 350, 300)
@@ -503,7 +503,7 @@
data["frequency"] = format_frequency(user.sradio.frequency)
data["code"] = user.sradio.code
ui = GLOB.nanomanager.try_update_ui(user, user, id, ui, data, force_open)
ui = SSnanoui.try_update_ui(user, user, id, ui, data, force_open)
if(!ui)
// Don't copy-paste this unless you're making a pAI software module!
ui = new(user, user, id, "pai_signaller.tmpl", "Signaller", 320, 150)

View File

@@ -1,5 +1,5 @@
/mob/Logout()
GLOB.nanomanager.user_logout(src) // this is used to clean up (remove) this user's Nano UIs
SSnanoui.user_logout(src) // this is used to clean up (remove) this user's Nano UIs
player_list -= src
update_client_z(null)
log_access_out(src)