Merge pull request #1 from CHOMPstation/master

Master merge
This commit is contained in:
Razgriz
2019-03-16 18:14:04 -07:00
committed by GitHub
34 changed files with 312 additions and 155 deletions
+23 -21
View File
@@ -17,31 +17,33 @@
#define NIF_FLASHPROT 13
//Health-related
#define NIF_BACKUP 14
#define NIF_CREWMONITOR 15
#define NIF_ORGANIC_HEAL 16
#define NIF_SYNTH_HEAL 17
#define NIF_AUTOSTASIS 18 //These two are just part of
#define NIF_MED_ALARM 19 //medichines right now
#define NIF_TOXHEAL 20 //And this, for organics
#define NIF_SPAREBREATH 21
#define NIF_MEDMONITOR 15 // TFF: Name
#define NIF_ENGMONITOR 16 // changes
#define NIF_SECMONITOR 17 // happening
#define NIF_ORGANIC_HEAL 18
#define NIF_SYNTH_HEAL 19
#define NIF_AUTOSTASIS 20 //These two are just part of
#define NIF_MED_ALARM 21 //medichines right now
#define NIF_TOXHEAL 22 //And this, for organics
#define NIF_SPAREBREATH 23
//Combat Related
#define NIF_BRUTEARMOR 22
#define NIF_BURNARMOR 23
#define NIF_PAINKILLERS 24
#define NIF_HARDCLAWS 25
#define NIF_HIDDENLASER 26
#define NIF_BRUTEARMOR 24
#define NIF_BURNARMOR 25
#define NIF_PAINKILLERS 26
#define NIF_HARDCLAWS 27
#define NIF_HIDDENLASER 28
//Other
#define NIF_COMMLINK 27
#define NIF_APCCHARGE 28
#define NIF_PRESSURE 29
#define NIF_HEATSINK 30
#define NIF_COMPLIANCE 31
#define NIF_SIZECHANGE 32
#define NIF_SOULCATCHER 33
#define NIF_WORLDBEND 34
#define NIF_COMMLINK 29
#define NIF_APCCHARGE 30
#define NIF_PRESSURE 31
#define NIF_HEATSINK 32
#define NIF_COMPLIANCE 33
#define NIF_SIZECHANGE 34
#define NIF_SOULCATCHER 35
#define NIF_WORLDBEND 36
// Must be equal to the highest number above
#define TOTAL_NIF_SOFTWARE 34
#define TOTAL_NIF_SOFTWARE 36
//////////////////////
// NIF flag list hints
+5
View File
@@ -42,3 +42,8 @@
/datum/category_item/autolathe/tools/welder_industrial
name = "industrial welding tool"
path =/obj/item/weapon/weldingtool/largetank
//TFF: Ports VoreStation edit, add printable prybars to autolathes
/datum/category_item/autolathe/tools/prybar
name = "prybar"
path =/obj/item/weapon/prybar
+1 -1
View File
@@ -61,7 +61,7 @@
if(CLASS_LOWER) income = 0.50
//give them an account in the station database
var/money_amount = (rand(15,40) + rand(15,40)) * income * economic_modifier * ECO_MODIFIER //VOREStation Edit - Smoothed peaks, ECO_MODIFIER rather than per-species ones.
var/money_amount = (rand(30,40) + rand(30,40)) * income * economic_modifier * ECO_MODIFIER //VOREStation Edit - Smoothed peaks, ECO_MODIFIER rather than per-species ones. //CHOMP edit. Changed random number range from 15~40 to 30~40 so you don't start out so freakishly poor sometimes.
var/datum/money_account/M = create_account(H.real_name, money_amount, null)
if(H.mind)
var/remembered_info = ""
+1 -1
View File
@@ -272,7 +272,7 @@
</head>
<body>
<iframe width='100%' height='97%' src="[config.wikiurl]Hacking&printable=yes&remove_links=1" frameborder="0" id="main_frame"></iframe>
<iframe width='100%' height='97%' src="[config.wikiurl]Guide_to_Hacking&printable=yes&remove_links=1" frameborder="0" id="main_frame"></iframe>
</body>
</html>
@@ -57,6 +57,7 @@
desc = "A survival box issued to crew members for use in emergency situations."
starts_with = list(
/obj/item/clothing/glasses/goggles, //VOREStation Add - Goggles for the phoron atmosphere,
/obj/item/weapon/prybar/red, //TFF: Ports prybar addition from VOREStation,
/obj/item/clothing/mask/breath
)
@@ -64,7 +65,8 @@
name = "synthetic supply box"
desc = "A survival box issued to synthetic crew members for use in emergency situations."
starts_with = list(
/obj/item/clothing/glasses/goggles //VOREStation Add - Goggles for the phoron atmosphere,
/obj/item/clothing/glasses/goggles, //VOREStation Add - Goggles for the phoron atmosphere,
/obj/item/weapon/prybar/red //TFF: Ports prybar addition from VOREStation,
)
/obj/item/weapon/storage/box/survival/comp
@@ -73,6 +75,7 @@
icon_state = "survival"
starts_with = list(
/obj/item/clothing/glasses/goggles, //VOREStation Add - Goggles for the phoron atmosphere,
/obj/item/weapon/prybar/red, //TFF: Ports prybar addition from VOREStation,
/obj/item/weapon/reagent_containers/hypospray/autoinjector,
/obj/item/stack/medical/bruise_pack,
/obj/item/device/flashlight/glowstick,
@@ -133,13 +133,13 @@
/obj/item/weapon/tank/emergency/oxygen
name = "emergency oxygen tank"
desc = "Used for emergencies. Contains very little oxygen, so try to conserve it until you actually need it."
desc = "Used for emergencies. Use sparingly if you need it." //TFF: Changes desc since it's got a full tank now.
icon_state = "emergency"
gauge_icon = "indicator_emergency"
/obj/item/weapon/tank/emergency/oxygen/New()
..()
src.air_contents.adjust_gas("oxygen", (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C))
src.air_contents.adjust_gas("oxygen", (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)) //TFF: Ports full tank version from Polaris.
return
@@ -167,7 +167,7 @@
/obj/item/weapon/tank/emergency/nitrogen/New()
..()
src.air_contents.adjust_gas("nitrogen", (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C))
src.air_contents.adjust_gas("nitrogen", (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)) //TFF: Ports Polaris's full tank edit. Note: Not sure why this is needed. Or more specifically was done. Probably isn't needed.
/obj/item/weapon/tank/emergency/nitrogen/double
name = "double emergency nitrogen tank"
@@ -183,7 +183,7 @@
/obj/item/weapon/tank/emergency/phoron/New()
..()
src.air_contents.adjust_gas("phoron", (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C))
src.air_contents.adjust_gas("phoron", (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)) //TFF: Ports Polaris's full tank edit.
/obj/item/weapon/tank/emergency/phoron/double
name = "double emergency phoron tank"
+29
View File
@@ -978,6 +978,35 @@
user.put_in_active_hand(counterpart)
to_chat(user, "<span class='notice'>You attach the cutting jaws to [src].</span>")
//TFF: Add new tool, prybar, ported from VOREStation.
/obj/item/weapon/prybar
name = "pry bar"
desc = "A steel bar with a wedge, designed specifically for opening unpowered doors in an emergency. It comes in a variety of configurations - collect them all!"
icon = 'icons/obj/tools_vr.dmi'
icon_state = "prybar"
flags = CONDUCT
slot_flags = SLOT_BELT
force = 4
throwforce = 5
pry = 1
item_state = "crowbar"
w_class = ITEMSIZE_SMALL
origin_tech = list(TECH_ENGINEERING = 1)
matter = list(DEFAULT_WALL_MATERIAL = 30)
attack_verb = list("whapped", "smacked", "swatted", "thwacked", "hit")
usesound = 'sound/items/crowbar.ogg'
toolspeed = 1
var/random_color = TRUE
/obj/item/weapon/prybar/red
icon_state = "prybar_red"
item_state = "crowbar_red"
random_color = FALSE
/obj/item/weapon/prybar/New()
if(random_color)
icon_state = "prybar[pick("","_green","_aubergine","_blue")]"
. = ..()
/*/obj/item/weapon/combitool
name = "combi-tool"
@@ -437,6 +437,7 @@
"the SolGov embassy in Vilous"
)// autogen will add a lot of other places as well.
/* //Removed ships in Virgo space because we're not in Virgo space. Perhaps revert back to Polaris later since we're in Vir.
/datum/lore/organization/gov/sifgov // Overrides Polaris stuff
name = "Virgo-Erigone Governmental Authority"
short_name = ""
@@ -468,6 +469,7 @@
"a telecommunications satellite near Virgo-3B",
"a telecommunications satellite near Virgo-Prime"
)
*/
/* // Waiting for lore to be updated.
/datum/lore/organization/gov/federation
@@ -677,6 +679,7 @@
"... wait, why am I even telling you this? Just let me pass",
"stop asking questions")
/* //KHI does not exist in our canon.
/datum/lore/organization/gov/kitsuhana
name = "Kitsuhana Heavy Industries"
short_name = "Kitsuhana"
@@ -730,6 +733,7 @@
"a Kitsuhana ringworld in Lund VI",
"a Kitsuhana ringworld in Dais IX",
"a Kitsuhana ringworld in Leibert II-b")
*/
/datum/lore/organization/gov/ares
name = "Ares Confederation"
@@ -788,6 +792,7 @@
"a settlement needing our help",
"Forward Base Sigma-Alpha in ArCon space")
/* //Also commiting this out because we don't have space elves.
/datum/lore/organization/gov/imperial
name = "Auream Imperium"
short_name = "Imperial"
@@ -884,3 +889,4 @@
"near Cor Galaxia",
"Segmentum Obscurum", // Basically their home territory, where our telescopes can't see. They prefer to keep it that way. They call it something else internally.
)
*/
@@ -7,30 +7,30 @@
display_name = "pt uniform, planetside sec"
path = /obj/item/clothing/under/pt/sifguard
//KHI Uniforms
/datum/gear/uniform/job_khi/cmd
display_name = "khi uniform, cmd"
path = /obj/item/clothing/under/rank/khi/cmd
//GE Uniforms
/datum/gear/uniform/job_ge/cmd
display_name = "ge uniform, cmd"
path = /obj/item/clothing/under/rank/ge/cmd
allowed_roles = list("Head of Security","Colony Director","Head of Personnel","Chief Engineer","Research Director","Chief Medical Officer")
/datum/gear/uniform/job_khi/sec
display_name = "khi uniform, sec"
path = /obj/item/clothing/under/rank/khi/sec
/datum/gear/uniform/job_ge/sec
display_name = "ge uniform, sec"
path = /obj/item/clothing/under/rank/ge/sec
allowed_roles = list("Head of Security", "Warden", "Detective", "Security Officer")
/datum/gear/uniform/job_khi/med
display_name = "khi uniform, med"
path = /obj/item/clothing/under/rank/khi/med
/datum/gear/uniform/job_ge/med
display_name = "ge uniform, med"
path = /obj/item/clothing/under/rank/ge/med
allowed_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Paramedic","Geneticist")
/datum/gear/uniform/job_khi/eng
display_name = "khi uniform, eng"
path = /obj/item/clothing/under/rank/khi/eng
/datum/gear/uniform/job_ge/eng
display_name = "ge uniform, eng"
path = /obj/item/clothing/under/rank/ge/eng
allowed_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer")
/datum/gear/uniform/job_khi/sci
display_name = "khi uniform, sci"
path = /obj/item/clothing/under/rank/khi/sci
/datum/gear/uniform/job_ge/sci
display_name = "ge uniform, sci"
path = /obj/item/clothing/under/rank/ge/sci
allowed_roles = list("Research Director","Scientist", "Roboticist", "Xenobiologist")
//Federation jackets
+7 -7
View File
@@ -1,7 +1,7 @@
/obj/item/clothing/glasses/omnihud
name = "\improper AR glasses"
desc = "The KHI-62 AR Glasses are a design from Kitsuhana Heavy Industries. These are a cheap export version \
for Nanotrasen. Probably not as complete as KHI could make them, but more readily available for NT."
desc = "The WT-62 AR Glasses are a design from Ward-Takahashi GMB. These are a cheap export version \
for Nanotrasen. Definitely not as complete as WT could make them, but more readily available for NT."
origin_tech = list(TECH_MAGNET = 3, TECH_BIO = 3)
var/obj/item/clothing/glasses/hud/omni/hud = null
var/mode = "civ"
@@ -67,7 +67,7 @@
/obj/item/clothing/glasses/omnihud/med
name = "\improper AR-M glasses"
desc = "The KHI-62-M AR glasses are a design from Kitsuhana Heavy Industries. \
desc = "The WT-62-M AR glasses are a design from Ward-Takahashi GMB. \
These have been upgraded with medical records access and virus database integration."
mode = "med"
action_button_name = "AR Console (Crew Monitor)"
@@ -81,7 +81,7 @@
/obj/item/clothing/glasses/omnihud/sec
name = "\improper AR-S glasses"
desc = "The KHI-62-S AR glasses are a design from Kitsuhana Heavy Industries. \
desc = "The WT-62-S AR glasses are a design from Ward-Takahashi GMB. \
These have been upgraded with security records integration and flash protection."
mode = "sec"
flash_protection = FLASH_PROTECTION_MAJOR
@@ -96,7 +96,7 @@
/obj/item/clothing/glasses/omnihud/eng
name = "\improper AR-E glasses"
desc = "The KHI-62-E AR glasses are a design from Kitsuhana Heavy Industries. \
desc = "The WT-62-E AR glasses are a design from Ward-Takahashi GMB. \
These have been upgraded with advanced electrochromic lenses to protect your eyes during welding."
mode = "eng"
flash_protection = FLASH_PROTECTION_MAJOR
@@ -110,7 +110,7 @@
/obj/item/clothing/glasses/omnihud/rnd
name = "\improper AR-R glasses"
desc = "The KHI-62-R AR glasses are a design from Kitsuhana Heavy Industries. \
desc = "The WT-62-R AR glasses are a design from Ward-Takahashi GMB. \
These have been ... modified ... to fit into a different frame."
mode = "sci"
icon = 'icons/obj/clothing/glasses.dmi'
@@ -156,7 +156,7 @@
/obj/item/clothing/glasses/omnihud/all
name = "\improper AR-B glasses"
desc = "The KHI-62-B AR glasses are a design from Kitsuhana Heavy Industries. \
desc = "The WT-62-B AR glasses are a design from Ward-Takahashi GMB. \
These have been upgraded with every feature the lesser models have. Now we're talkin'."
mode = "best"
flash_protection = FLASH_PROTECTION_MAJOR
@@ -154,7 +154,7 @@ mob/living/simple_animal/synx/PunchTarget()
/datum/reagent/inaprovaline/synxchem
name = "Alien nerveinhibitor"
description = "I mean you could have gotten this through dialysis but was it honestly worth for this easteregg?"
description = "A toxin that slowly metabolizes damaging the person, but makes them unable to feel pain"
id = "synxchem"
metabolism = REM * 0.1 //Slow metabolization to try and mimic permanent nerve damage without actually being too cruel to people
color = "#FFFFFF"
@@ -352,8 +352,10 @@ mob/living/simple_animal/synx/PunchTarget()
/mob/living/simple_animal/retaliate/synx/proc/handle_mimic()
name = pick(voices)
src.say(pick(speak))
name = realname
spawn(2)
src.say(pick(speak))
spawn(5)
name = realname
////////////////////////////////////////
////////////////PET VERSION/////////////
@@ -7,6 +7,7 @@
icon_living = "deathclaw"
icon_state = "deathclaw"
size_multiplier = 2
var/hasdrops = 1
isEdible = 0
name = "T'rasq"
@@ -47,7 +48,7 @@
unsuitable_atoms_damage = 0
//Hostility settings
view_range = 28 //HE knows when you're awake, and also when you sleep, he butchers all of your best friends and churns them to gains
view_range = 280 //HE knows when you're awake, and also when you sleep
investigates = 1 //Clever girl
attack_same = 1 //There can only be one
grab_resist = 100 //It's a collosal creature... you arent just grabbing that...
@@ -74,22 +75,48 @@
/mob/living/simple_animal/hostile/tarrasque/death()
..()
visible_message("<span class='notice'>\The [src] is annoyed with your continued resistance and burrows into the ground!</span>")
var/scale = /obj/item/clothing/accessory/medal/tarrasque
new scale(location)
new scale(location)
new scale(location)
new scale(location)
new scale(location)
new scale(location)
qdel(src)
/mob/living/simple_animal/hostile/tarrasque/New()
..()
world << "<font size='15' color='red'><b>[uppertext(name)] HAS EMERGED</b></font>"
if (hasdrops)
visible_message("<span class='notice'>\The [src] is annoyed with your continued resistance and burrows into the ground!</span>")
var/scale = /obj/item/clothing/accessory/medal/tarrasque
new scale(location)
new scale(location)
new scale(location)
new scale(location)
new scale(location)
new scale(location)
qdel(src)
/obj/item/clothing/accessory/medal/tarrasque //IF we ever to make a siege event with this, this will be a permanent medal to win for people that survived
name = "Scale medal"
desc = "A T'rasq scale fashioned into a medal."
icon_state = "bronze" //to be sprited "scale"
//MRX Variation
/mob/living/simple_animal/hostile/tarrasque/mrx
icon = 'icons/mob/animal.dmi'
name = "X"
desc = "He's gonna give it to you."
hasdrops = 0
health = 2000
maxHealth = 2000
attack_sharp = 0
melee_attack_minDelay = 0
melee_attack_maxDelay = 1
view_range = 420
size_multiplier = 1.5
icon_living = "faithless" //possibly gonna give him a new sprite in the future
icon_dead = "faithless_dead"
tt_desc = "Unknown Specimen"
attacktext = list("whacks","punches","smashes")
//time for special MR X kick you in the shins and stands there code
/mob/living/simple_animal/hostile/tarrasque/mrx/DoPunch(var/atom/A)
. = ..()
if(.) // If we succeeded in hitting.
if(isliving(A))
var/mob/living/L = A
L.Weaken(10)
stop_automated_movement = 1
spawn(20)
stop_automated_movement = 0
+9 -9
View File
@@ -15,7 +15,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable
//Nanotech Implant Foundation
/obj/item/device/nif
name = "nanite implant framework"
desc = "A somewhat diminished knockoff of a Kitsuhana nano working surface, in a box. Can print new \
desc = "A somewhat diminished knockoff of a Vey-Med nano working surface, in a box. Can print new \
implants inside living hosts on the fly based on software uploads. Must be surgically \
implanted in the head to work. May eventually wear out and break."
@@ -33,7 +33,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable
var/tmp/list/nifsofts_life = list() // Ones that want to be talked to on life()
var/owner // Owner character name
var/examine_msg //Message shown on examine.
var/tmp/vision_flags = 0 // Flags implants set for faster lookups
var/tmp/health_flags = 0
var/tmp/combat_flags = 0
@@ -72,9 +72,9 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable
//Put loaded data here if we loaded any
save_data = islist(load_data) ? load_data.Copy() : list()
var/saved_examine_msg = save_data["examine_msg"]
//If it's an empty string, they want it blank. If null, it's never been saved, give default.
if(isnull(saved_examine_msg))
if(isnull(saved_examine_msg))
saved_examine_msg = "There's a certain spark to their eyes."
examine_msg = saved_examine_msg
@@ -114,7 +114,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable
var/obj/item/organ/brain = H.internal_organs_by_name[O_BRAIN]
if(istype(brain))
should_be_in = brain.parent_organ
if(istype(H) && !H.nif && H.species && (loc == H.get_organ(should_be_in)))
if(!bioadap && (H.species.flags & NO_SCAN)) //NO_SCAN is the default 'too complicated' flag
return FALSE
@@ -135,7 +135,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable
var/obj/item/organ/brain = H.internal_organs_by_name[O_BRAIN]
if(istype(brain))
should_be_in = brain.parent_organ
parent = H.get_organ(should_be_in)
//Ok, nevermind then!
if(!istype(parent))
@@ -559,9 +559,9 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable
durability = 10
/obj/item/device/nif/authentic
name = "\improper Kitsuhana NIF"
desc = "An actual Kitsuhana working surface, in a box. From a society slightly less afraid \
of self-replicating nanotechnology. Basically just a high-endurance NIF."
name = "\improper Vey-Med NIF"
desc = "An actual Vey-Med working surface, in a box. They are said to have been stolen \
from an internal company shipment. Basically just a high-endurance NIF."
durability = 1000
/obj/item/device/nif/bioadap
+3 -3
View File
@@ -242,7 +242,7 @@
stored = /datum/nifsoft/package/security
/datum/nifsoft/package/security
software = list(/datum/nifsoft/ar_sec,/datum/nifsoft/flashprot)
software = list(/datum/nifsoft/ar_sec,/datum/nifsoft/cameramonitor,/datum/nifsoft/flashprot) //TFF: Add Station Alarms - Sec version
/obj/item/weapon/storage/box/nifsofts_security
name = "security nifsoft disks"
@@ -265,7 +265,7 @@
stored = /datum/nifsoft/package/engineering
/datum/nifsoft/package/engineering
software = list(/datum/nifsoft/ar_eng,/datum/nifsoft/uvblocker)
software = list(/datum/nifsoft/ar_eng,/datum/nifsoft/alarmmonitor,/datum/nifsoft/uvblocker) //TFF: Add Station Alarms - Eng version
/obj/item/weapon/storage/box/nifsofts_engineering
name = "engineering nifsoft disks"
@@ -321,4 +321,4 @@
/obj/item/weapon/storage/box/nifsofts_mining/New()
..()
for(var/i = 0 to 7)
new /obj/item/weapon/disk/nifsoft/mining(src)
new /obj/item/weapon/disk/nifsoft/mining(src)
+2 -30
View File
@@ -1,32 +1,4 @@
/datum/nifsoft/crewmonitor
name = "Crew Monitor"
desc = "A link to the local crew monitor sensors. Useful for finding people in trouble."
list_pos = NIF_CREWMONITOR
access = access_medical
cost = 1250
p_drain = 0.025
var/datum/nano_module/crew_monitor/arscreen
New()
..()
arscreen = new(nif)
Destroy()
qdel_null(arscreen)
return ..()
activate()
if((. = ..()))
arscreen.ui_interact(nif.human,"main",null,1,nif_state)
return TRUE
deactivate()
if((. = ..()))
return TRUE
stat_text()
return "Show Monitor"
//TFF: Removed Crew Monitor, moved to an appropriate file.
/datum/nifsoft/medichines_org
name = "Medichines"
desc = "An internal swarm of nanites to make sure you stay in good shape and to promote healing, or to preserve you if you are critically injured."
@@ -233,4 +205,4 @@
return TRUE
stat_text()
return "Store Backup"
return "Store Backup"
@@ -0,0 +1,88 @@
//TFF: Ports monitors for NIFs from VOREStation. Adding notes for what does what.
/datum/nifsoft/crewmonitor //TFF: Medical access - like with AR-M glasses, allows one to keep track of who needs medical help.
name = "Crew Monitor"
desc = "A link to the local crew monitor sensors. Useful for finding people in trouble."
list_pos = NIF_MEDMONITOR
access = access_medical
cost = 1250
p_drain = 0.025
var/datum/nano_module/crew_monitor/arscreen
New()
..()
arscreen = new(nif)
Destroy()
qdel_null(arscreen)
return ..()
activate()
if((. = ..()))
arscreen.ui_interact(nif.human,"main",null,1,nif_state)
return TRUE
deactivate()
if((. = ..()))
return TRUE
stat_text()
return "Show Monitor"
/datum/nifsoft/alarmmonitor //TFF: Monitor for station alarms - Engy access
name = "Alarm Monitor"
desc = "A link to the local alarm monitors. Useful for detecting alarms in a pinch."
list_pos = NIF_ENGMONITOR
access = access_engine
cost = 1250
p_drain = 0.025
var/datum/nano_module/alarm_monitor/engineering/arscreen
New()
..()
arscreen = new(nif)
Destroy()
qdel_null(arscreen)
return ..()
activate()
if((. = ..()))
arscreen.ui_interact(nif.human,"main",null,1,nif_state)
return TRUE
deactivate()
if((. = ..()))
return TRUE
stat_text()
return "Show Monitor"
/datum/nifsoft/cameramonitor //TFF: Sec access - Alarm Monitor, Sec version, allows Sec to see if there's a busted camera or motion where there shouldn't be motion.
name = "Security Monitor"
desc = "A link to the local camera alarm monitors. Useful for knowing where the trouble is."
list_pos = NIF_SECMONITOR
access = access_security
cost = 1250
p_drain = 0.025
var/datum/nano_module/alarm_monitor/security/arscreen
New()
..()
arscreen = new(nif)
Destroy()
qdel_null(arscreen)
return ..()
activate()
if((. = ..()))
arscreen.ui_interact(nif.human,"main",null,1,nif_state)
return TRUE
deactivate()
if((. = ..()))
return TRUE
stat_text()
return "Show Monitor"
+4 -4
View File
@@ -5,8 +5,8 @@
//////////////// For-specific-character fluff ones /////////////////
// arokha : Aronai Kadigan
/datum/robolimb/kitsuhana
company = "Kitsuhana"
/datum/robolimb/dsi_aronai
company = "DSI - Aronai"
desc = "This limb seems rather vulpine and fuzzy, with realistic-feeling flesh."
icon = 'icons/mob/human_races/cyberlimbs/_fluff_vr/aronai.dmi'
blood_color = "#5dd4fc"
@@ -16,8 +16,8 @@
suggested_species = "Tajara"
whitelisted_to = list("arokha")
/obj/item/weapon/disk/limb/kitsuhana
company = "Kitsuhana"
/obj/item/weapon/disk/limb/dsi_aronai
company = "DSI - Aronai"
// silencedmp5a5 : Serdykov Antoz
/datum/robolimb/white_kryten
@@ -1,6 +1,6 @@
/obj/item/weapon/gun/energy/netgun
name = "\improper KHI \"Hunter\" capture gun"
desc = "A Kitsuhana-designed 'non-lethal capture device' stunner and energy net launcher, \
name = "\improper HI \"Hunter\" capture gun"
desc = "A Hesphaistos Industries-designed 'non-lethal capture device' stunner and energy net launcher, \
for when you want criminals to stop acting like they're on a 20th century British comedy sketch show."
icon = 'icons/obj/gun_vr.dmi'
icon_state = "hunter"
+1 -1
View File
@@ -31,7 +31,7 @@
/obj/machinery/chem_master/New()
..()
var/datum/reagents/R = new/datum/reagents(120)
var/datum/reagents/R = new/datum/reagents(900) //TFF: Ports Polaris edit to prevent the ChemMaster from ever losing a ton of chems.
reagents = R
R.my_atom = src
+1 -1
View File
@@ -27,7 +27,7 @@
<br>
<h1><a name="Foreword">Foreword: A Licensed Technology</a></h1>
This message must remain attached to all documentation regarding Nanotrasen Resleeving Technology.<br>
All Nanotrasen Resleeving Technology (NRT) is licensed to Nanotrasen by Kitsuhana Heavy Industries. It should only be used in the ways set forth in this guide.
All Nanotrasen Resleeving Technology (NRT) is licensed to Nanotrasen by Vey-Med. It should only be used in the ways set forth in this guide.
Special consideration to the moral and ethical use of this technology should be undertaken before applying it in the field. Make sure you understand the technology fully before using the machinery.<br>
<a href="#Contents">Contents</a>
+4 -4
View File
@@ -15,7 +15,7 @@
<b>Implant Specifications:</b><BR>
<b>Name:</b> [using_map.company_name] Employee Backup Implant<BR>
<b>Life:</b> ~8 hours.<BR>
<b>Important Notes:</b> Implant is life-limited due to KHI licensing restrictions. Dissolves into harmless biomaterial after around ~8 hours, the typical work shift.<BR>
<b>Important Notes:</b> Implant is life-limited due to VM licensing restrictions. Dissolves into harmless biomaterial after around ~8 hours, the typical work shift.<BR>
<HR>
<b>Implant Details:</b><BR>
<b>Function:</b> Contains a small swarm of nanobots that perform neuron scanning to create mind-backups.<BR>
@@ -41,7 +41,7 @@
//New, modern implanter instead of old style implanter.
/obj/item/weapon/backup_implanter
name = "backup implanter"
desc = "After discovering that Nanotrasen was just re-using the same implanters over and over again on organics, leading to cross-contamination, Kitsuhana Heavy industries designed this self-cleaning model. Holds four backup implants at a time."
desc = "After discovering that Nanotrasen was just re-using the same implanters over and over again on organics, leading to cross-contamination, Vey-Med designed this self-cleaning model. Holds four backup implants at a time."
icon = 'icons/obj/device_alt.dmi'
icon_state = "bimplant"
item_state = "syringe_0"
@@ -152,5 +152,5 @@
//Purely for fluff
/obj/item/weapon/implant/backup/full
name = "khi backup implant"
desc = "A normal KHI wireless cortical stack with neutrino and QE transmission for constant-stream consciousness upload."
name = "vm backup implant"
desc = "A normal VM wireless cortical stack with neutrino and QE transmission for constant-stream consciousness upload."
+1 -1
View File
@@ -3,7 +3,7 @@
/obj/item/device/sleevecard
name = "sleevecard"
desc = "This KHI-upgraded pAI module has enough capacity to run a whole mind of human-level intelligence."
desc = "This VM-upgraded pAI module has enough capacity to run a whole mind of human-level intelligence."
icon = 'icons/obj/pda.dmi'
icon_state = "pai"
+1 -1
View File
@@ -122,7 +122,7 @@
infect_virus2(M,src)
//fever
mob.bodytemperature = max(mob.bodytemperature, min(310+5*min(stage,max_stage) ,mob.bodytemperature+5*min(stage,max_stage)))
//mob.bodytemperature = max(mob.bodytemperature, min(310+5*min(stage,max_stage) ,mob.bodytemperature+5*min(stage,max_stage))) (No more fever with all diseases, we want them to be beneficial without killing people)
clicks+=speed
/datum/disease2/disease/proc/cure(var/mob/living/carbon/mob)
@@ -326,6 +326,11 @@
/datum/sprite_accessory/tail/taur/feline
name = "Feline (Taur)"
icon_state = "feline_s"
/datum/sprite_accessory/tail/taur/feline_wag
name = "Feline (Taur) (vwag)"
icon_state = "feline_s"
ani_state = "feline_w"
/datum/sprite_accessory/tail/taur/feline/feline_2c
name = "Feline dual-color (Taur)"
@@ -337,6 +342,13 @@
icon_state = "feline_s"
extra_overlay = "feline_spots"
/datum/sprite_accessory/tail/taur/feline/feline_spots_wag
name = "Feline spots (Taur) (vwag)"
icon_state = "feline_s"
ani_state = "feline_w"
extra_overlay = "feline_spots"
extra_overlay_w = "feline_spots_w"
/datum/sprite_accessory/tail/taur/feline/synthfeline
name = "SynthFeline dual-color (Taur)"
icon_state = "synthfeline_s"
@@ -297,6 +297,13 @@
color_blend_mode = ICON_MULTIPLY
extra_overlay = "tesharilowinner"
/datum/sprite_accessory/ears/headpaint
name = "Head Paint"
desc = ""
icon_state = "paint"
do_colouration = 1
color_blend_mode = ICON_MULTIPLY
extra_overlay = "paintfront"
// Special snowflake ears go below here.
@@ -1149,4 +1156,4 @@
desc = ""
icon_state = "zenghu_taj"
//Taurs moved to a separate file due to extra code around them
//Taurs moved to a separate file due to extra code around them
@@ -91,6 +91,9 @@ var/image/gurgled_overlay = image('icons/effects/sludgeoverlay_vr.dmi')
return
..()
/obj/item/device/pda/gurgle_contaminate(var/atom/movable/item_storage = null)
return FALSE
//////////////
// Special handling of gurgle_contaminate
//////////////
@@ -799,9 +799,9 @@
H.update_inv_head()
/obj/item/weapon/rig/light/hacker/fluff/aronai
name = "KHI-99-AAR suit module"
name = "VM-99-AAR suit module"
suit_type = "nano"
desc = "A thin collapsable spacesuit for synths from Kitsuhana Heavy Industries."
desc = "A thin collapsable spacesuit for synths from Vey-Med."
airtight = 1 //Not because it should be airtight but because suit coolers don't work w/o it.
armor = list(melee = 25, bullet = 15, laser = 15, energy = 60, bomb = 30, bio = 70, rad = 100)
air_type = null //No O2 tank, why would it have one?
@@ -892,8 +892,8 @@
desc = "ROW ROW, FIGHT THE POWER."
flash_prot = 1 //Why not.
//Kitsuhana Uniforms
/obj/item/clothing/under/rank/khi
//Gilthari Uniforms
/obj/item/clothing/under/rank/ge
name = "Delete Me"
desc = "Why did you spawn this one? Dork."
sensor_mode = 3
@@ -904,49 +904,49 @@
icon_override = 'icons/vore/custom_clothes_vr.dmi'
item_state = ""
/obj/item/clothing/under/rank/khi/cmd //Command version
name = "KHI command suit"
desc = "Kitsuhana Heavy Industries uniform. An extra-comfortable command one, at that. I guess if you DON'T want anarchy for some reason."
/obj/item/clothing/under/rank/ge/cmd //Command version
name = "GE command suit"
desc = "Gilthari Exports uniform. An extra-comfortable command one, at that."
icon_state = "khi_uniform_cmd_i"
item_state = "khi_uniform_cmd"
worn_state = "khi_uniform_cmd"
armor = list(melee = 5, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/under/rank/khi/sec //Security version
name = "KHI security suit"
desc = "Kitsuhana Heavy Industries uniform. This one has angry red security stripes. Keepin' the peace in style."
/obj/item/clothing/under/rank/ge/sec //Security version
name = "GE security suit"
desc = "Gilthari Exports uniform. This one has angry red security stripes. Keepin' the peace in style."
icon_state = "khi_uniform_sec_i"
item_state = "khi_uniform_sec"
worn_state = "khi_uniform_sec"
armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/under/rank/khi/med //Medical version
name = "KHI medical suit"
desc = "Kitsuhana Heavy Industries uniform. The medical version. Why not just get a new body, anyway?"
/obj/item/clothing/under/rank/ge/med //Medical version
name = "GE medical suit"
desc = "Gilthari Exports uniform. The medical version. Why not just get a new body, anyway?"
icon_state = "khi_uniform_med_i"
item_state = "khi_uniform_med"
worn_state = "khi_uniform_med"
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 50, rad = 5)
/obj/item/clothing/under/rank/khi/eng //Engineering version
name = "KHI engineering suit"
desc = "Kitsuhana Heavy Industries uniform. One fit for an engineer, by the looks of it. Building the future, one disaster at a time."
/obj/item/clothing/under/rank/ge/eng //Engineering version
name = "GE engineering suit"
desc = "Gilthari Exports uniform. One fit for an engineer, by the looks of it. Building the future, one disaster at a time."
icon_state = "khi_uniform_eng_i"
item_state = "khi_uniform_eng"
worn_state = "khi_uniform_eng"
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 10)
/obj/item/clothing/under/rank/khi/sci //Science version
name = "KHI science suit"
desc = "Kitsuhana Heavy Industries uniform. For performing science in, based on the color! Only SCIENCE can save us now."
/obj/item/clothing/under/rank/ge/sci //Science version
name = "GE science suit"
desc = "Gilthari Exports uniform. For performing science in, based on the color! Only SCIENCE can save us now."
icon_state = "khi_uniform_sci_i"
item_state = "khi_uniform_sci"
worn_state = "khi_uniform_sci"
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 5, bio = 0, rad = 5)
/obj/item/clothing/under/rank/khi/fluff/aronai //Aro fluff version
name = "KHI meditech suit"
desc = "Kitsuhana Heavy Industries uniform. This one has the colors of a resleeving or mnemonics engineer. It has 'Aronai' written inside the top."
/obj/item/clothing/under/rank/ge/fluff/aronai //Aro fluff version
name = "GE meditech suit"
desc = "Gilthari Exports uniform. This one has the colors of a resleeving or mnemonics engineer. It has 'Aronai' written inside the top."
icon_state = "khi_uniform_aro_i"
item_state = "khi_uniform_aro"
worn_state = "khi_uniform_aro"
@@ -478,7 +478,7 @@
</ol>
<br />
<h5>Purpose</h5>
<p>The Kitsuhana Life Crystal is a small device typically worn around the neck for the purpose of reporting your status to the HAVENS (Kitsuhana's High-AVailability ENgram Storage) system, so that appropriate measures can be taken in the case of your body's demise. The whole device is housed inside a pleasing-to-the-eye elongated diamond.</p>
<p>The Vey-Med Life Crystal is a small device typically worn around the neck for the purpose of reporting your status to the HAVENS (Vey-Med's High-AVailability ENgram Storage) system, so that appropriate measures can be taken in the case of your body's demise. The whole device is housed inside a pleasing-to-the-eye elongated diamond.</p>
<p>Upon your body's desmise, the crystal will send a transmission to HAVENS. Depending on your membership level, the appropriate actions can be taken to ensure that you are back up and enjoying existence as soon as possible.</p>
<p>Nanotrasen has negotiated a <i>FREE</i> Star membership for you in the HAVENS system, though an upgrade can be obtained depending on your citizenship and reputation level.</p>
+4 -4
View File
@@ -1,12 +1,12 @@
// -------------- NSFW -------------
/obj/item/weapon/gun/projectile/nsfw
name = "KHI-102b \'NSFW\'"
name = "HI-102b \'NSFW\'"
desc = "Variety is the spice of life! The 'Nanotech Selectable-Fire Weapon' is an unholy hybrid of an ammo-driven \
energy weapon that allows the user to mix and match their own fire modes. Up to three combinations of \
energy beams can be configured at once. Ammo not included."
description_info = "This gun is an energy weapon that uses interchangable microbatteries in a magazine. Each battery is a different beam type, and up to three can be loaded in the magazine. Each battery usually provides four discharges of that beam type, and multiple from the same type may be loaded to increase the number of shots for that type."
description_fluff = "The Kitsuhana 'Nanotech Selectable Fire Weapon' allows one to customize their loadout in the field, or before deploying, to achieve various results in a weapon they are already familiar with wielding."
description_fluff = "The Hesphaistos Industries 'Nanotech Selectable Fire Weapon' allows one to customize their loadout in the field, or before deploying, to achieve various results in a weapon they are already familiar with wielding."
description_antag = ""
icon = 'icons/vore/custom_guns_vr.dmi'
@@ -339,7 +339,7 @@
projectile_type = /obj/item/projectile/beam/growlaser
*/
/obj/item/weapon/storage/secure/briefcase/nsfw_pack
name = "\improper KHI-102b \'NSFW\' gun kit"
name = "\improper HI-102b \'NSFW\' gun kit"
desc = "A storage case for a multi-purpose handgun. Variety hour!"
max_w_class = ITEMSIZE_NORMAL
@@ -351,7 +351,7 @@
new path(src)
/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hos
name = "\improper KHI-102b \'NSFW\' gun kit"
name = "\improper HI-102b \'NSFW\' gun kit"
desc = "A storage case for a multi-purpose handgun. Variety hour!"
max_w_class = ITEMSIZE_NORMAL
@@ -1,11 +1,11 @@
// -------------- Protector -------------
/obj/item/weapon/gun/energy/protector
name = "\improper KHI-98a \'Protector\'"
desc = "The KHI-98a is the first firearm custom-designed for Nanotrasen by KHI. It features a powerful stun mode, and \
name = "\improper WT-98a \'Protector\'"
desc = "The HI-98a is a firearm custom-designed for Nanotrasen by HI. It features a powerful stun mode, and \
an alert-level-locked lethal mode, only usable on code blue and higher. It also features an integrated flashlight!"
description_info = "This gun can only be fired in lethal mode while on higher security alert levels. It is legal for sec to carry for this reason, since it cannot be used for lethal force until SOP allows it, in essence."
description_fluff = "The first 'commission' from a Kitsuhana citizen for NanoTrasen, this gun has a wireless connection to the computer's datacore to ensure it can't be used without authorization from heads of staff who have raised the alert level. Until then, *click*!"
description_fluff = "A for NanoTrasen, this gun has a wireless connection to the computer's datacore to ensure it can't be used without authorization from heads of staff who have raised the alert level. Until then, *click*!"
description_antag = "The gun can be emagged to remove the lethal security level restriction, allowing it to be fired on lethal mode at all times."
icon = 'icons/vore/custom_guns_vr.dmi'
Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 548 B

+1
View File
@@ -2329,6 +2329,7 @@
#include "code\modules\nifsoft\nifsoft.dm"
#include "code\modules\nifsoft\software\01_vision.dm"
#include "code\modules\nifsoft\software\05_health.dm"
#include "code\modules\nifsoft\software\06_screens.dm"
#include "code\modules\nifsoft\software\10_combat.dm"
#include "code\modules\nifsoft\software\13_soulcatcher.dm"
#include "code\modules\nifsoft\software\14_commlink.dm"