mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 02:34:00 +00:00
For some reason this didn't get pushed
This commit is contained in:
@@ -64,6 +64,11 @@
|
|||||||
var/obj/item/weapon/coin/coin
|
var/obj/item/weapon/coin/coin
|
||||||
var/datum/wires/vending/wires = null
|
var/datum/wires/vending/wires = null
|
||||||
|
|
||||||
|
var/list/log = list()
|
||||||
|
var/req_log_access = access_cargo //default access for checking logs is cargo
|
||||||
|
var/has_logs = 0 //defaults to 0, set to anything else for vendor to have logs
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/vending/New()
|
/obj/machinery/vending/New()
|
||||||
..()
|
..()
|
||||||
wires = new(src)
|
wires = new(src)
|
||||||
@@ -496,6 +501,8 @@
|
|||||||
flick(icon_vend,src)
|
flick(icon_vend,src)
|
||||||
spawn(vend_delay)
|
spawn(vend_delay)
|
||||||
R.get_product(get_turf(src))
|
R.get_product(get_turf(src))
|
||||||
|
if(has_logs)
|
||||||
|
do_logging(R, user, 1)
|
||||||
if(prob(1))
|
if(prob(1))
|
||||||
sleep(3)
|
sleep(3)
|
||||||
if(R.get_product(get_turf(src)))
|
if(R.get_product(get_turf(src)))
|
||||||
@@ -506,7 +513,44 @@
|
|||||||
vend_ready = 1
|
vend_ready = 1
|
||||||
currently_vending = null
|
currently_vending = null
|
||||||
nanomanager.update_uis(src)
|
nanomanager.update_uis(src)
|
||||||
return 1 //Vorestation Edit
|
return 1
|
||||||
|
|
||||||
|
/obj/machinery/vending/proc/do_logging(datum/stored_item/vending_product/R, mob/user, var/vending = 0)
|
||||||
|
if(user.GetIdCard())
|
||||||
|
var/obj/item/weapon/card/id/tempid = user.GetIdCard()
|
||||||
|
var/list/list_item = list()
|
||||||
|
if(vending)
|
||||||
|
list_item += "vend"
|
||||||
|
else
|
||||||
|
list_item += "stock"
|
||||||
|
list_item += tempid.registered_name
|
||||||
|
list_item += stationtime2text()
|
||||||
|
list_item += R.item_name
|
||||||
|
log[++log.len] = list_item
|
||||||
|
|
||||||
|
/obj/machinery/vending/proc/show_log(mob/user as mob)
|
||||||
|
if(user.GetIdCard())
|
||||||
|
var/obj/item/weapon/card/id/tempid = user.GetIdCard()
|
||||||
|
if(req_log_access in tempid.GetAccess())
|
||||||
|
var/datum/browser/popup = new(user, "vending_log", "Vending Log", 700, 500)
|
||||||
|
var/dat = ""
|
||||||
|
dat += "<center><span style='font-size:24pt'><b>[name] Vending Log</b></span></center>"
|
||||||
|
dat += "<center><span style='font-size:16pt'>Welcome [user.name]!</span></center><br>"
|
||||||
|
dat += "<span style='font-size:8pt'>Below are the recent vending logs for your vending machine.</span><br>"
|
||||||
|
for(var/i in log)
|
||||||
|
dat += json_encode(i)
|
||||||
|
dat += ";<br>"
|
||||||
|
popup.set_content(dat)
|
||||||
|
popup.open()
|
||||||
|
else
|
||||||
|
to_chat(user,"<span class='warning'>You do not have the required access to view the vending logs for this machine.</span>")
|
||||||
|
|
||||||
|
/obj/machinery/vending/verb/check_logs()
|
||||||
|
set name = "Check Vending Logs"
|
||||||
|
set category = "Object"
|
||||||
|
set src in oview(1)
|
||||||
|
|
||||||
|
show_log(usr)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add item to the machine
|
* Add item to the machine
|
||||||
@@ -520,6 +564,8 @@
|
|||||||
|
|
||||||
user << "<span class='notice'>You insert \the [W] in the product receptor.</span>"
|
user << "<span class='notice'>You insert \the [W] in the product receptor.</span>"
|
||||||
R.add_product(W)
|
R.add_product(W)
|
||||||
|
if(has_logs)
|
||||||
|
do_logging(R, user)
|
||||||
|
|
||||||
nanomanager.update_uis(src)
|
nanomanager.update_uis(src)
|
||||||
|
|
||||||
@@ -677,6 +723,8 @@
|
|||||||
product_slogans = "I hope nobody asks me for a bloody cup o' tea...;Alcohol is humanity's friend. Would you abandon a friend?;Quite delighted to serve you!;Is nobody thirsty on this station?"
|
product_slogans = "I hope nobody asks me for a bloody cup o' tea...;Alcohol is humanity's friend. Would you abandon a friend?;Quite delighted to serve you!;Is nobody thirsty on this station?"
|
||||||
product_ads = "Drink up!;Booze is good for you!;Alcohol is humanity's best friend.;Quite delighted to serve you!;Care for a nice, cold beer?;Nothing cures you like booze!;Have a sip!;Have a drink!;Have a beer!;Beer is good for you!;Only the finest alcohol!;Best quality booze since 2053!;Award-winning wine!;Maximum alcohol!;Man loves beer.;A toast for progress!"
|
product_ads = "Drink up!;Booze is good for you!;Alcohol is humanity's best friend.;Quite delighted to serve you!;Care for a nice, cold beer?;Nothing cures you like booze!;Have a sip!;Have a drink!;Have a beer!;Beer is good for you!;Only the finest alcohol!;Best quality booze since 2053!;Award-winning wine!;Maximum alcohol!;Man loves beer.;A toast for progress!"
|
||||||
req_access = list(access_bar)
|
req_access = list(access_bar)
|
||||||
|
req_log_access = access_bar
|
||||||
|
has_logs = 1
|
||||||
|
|
||||||
/obj/machinery/vending/assist
|
/obj/machinery/vending/assist
|
||||||
products = list( /obj/item/device/assembly/prox_sensor = 5,/obj/item/device/assembly/igniter = 3,/obj/item/device/assembly/signaler = 4,
|
products = list( /obj/item/device/assembly/prox_sensor = 5,/obj/item/device/assembly/igniter = 3,/obj/item/device/assembly/signaler = 4,
|
||||||
@@ -697,9 +745,6 @@
|
|||||||
contraband = list(/obj/item/weapon/reagent_containers/food/drinks/ice = 10)
|
contraband = list(/obj/item/weapon/reagent_containers/food/drinks/ice = 10)
|
||||||
prices = list(/obj/item/weapon/reagent_containers/food/drinks/coffee = 3, /obj/item/weapon/reagent_containers/food/drinks/tea = 3, /obj/item/weapon/reagent_containers/food/drinks/h_chocolate = 3)
|
prices = list(/obj/item/weapon/reagent_containers/food/drinks/coffee = 3, /obj/item/weapon/reagent_containers/food/drinks/tea = 3, /obj/item/weapon/reagent_containers/food/drinks/h_chocolate = 3)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/vending/snack
|
/obj/machinery/vending/snack
|
||||||
name = "Getmore Chocolate Corp"
|
name = "Getmore Chocolate Corp"
|
||||||
desc = "A snack machine courtesy of the Getmore Chocolate Corporation, based out of Mars."
|
desc = "A snack machine courtesy of the Getmore Chocolate Corporation, based out of Mars."
|
||||||
@@ -714,8 +759,6 @@
|
|||||||
/obj/item/weapon/reagent_containers/food/snacks/sosjerky = 2,/obj/item/weapon/reagent_containers/food/snacks/no_raisin = 1,/obj/item/weapon/reagent_containers/food/snacks/spacetwinkie = 1,
|
/obj/item/weapon/reagent_containers/food/snacks/sosjerky = 2,/obj/item/weapon/reagent_containers/food/snacks/no_raisin = 1,/obj/item/weapon/reagent_containers/food/snacks/spacetwinkie = 1,
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers = 1, /obj/item/weapon/reagent_containers/food/snacks/tastybread = 2, /obj/item/weapon/reagent_containers/food/snacks/skrellsnacks = 4)
|
/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers = 1, /obj/item/weapon/reagent_containers/food/snacks/tastybread = 2, /obj/item/weapon/reagent_containers/food/snacks/skrellsnacks = 4)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/vending/cola
|
/obj/machinery/vending/cola
|
||||||
name = "Robust Softdrinks"
|
name = "Robust Softdrinks"
|
||||||
desc = "A softdrink vendor provided by Robust Industries, LLC."
|
desc = "A softdrink vendor provided by Robust Industries, LLC."
|
||||||
@@ -768,7 +811,8 @@
|
|||||||
products = list(/obj/item/weapon/cartridge/medical = 10,/obj/item/weapon/cartridge/engineering = 10,/obj/item/weapon/cartridge/security = 10,
|
products = list(/obj/item/weapon/cartridge/medical = 10,/obj/item/weapon/cartridge/engineering = 10,/obj/item/weapon/cartridge/security = 10,
|
||||||
/obj/item/weapon/cartridge/janitor = 10,/obj/item/weapon/cartridge/signal/science = 10,/obj/item/device/pda/heads = 10,
|
/obj/item/weapon/cartridge/janitor = 10,/obj/item/weapon/cartridge/signal/science = 10,/obj/item/device/pda/heads = 10,
|
||||||
/obj/item/weapon/cartridge/captain = 3,/obj/item/weapon/cartridge/quartermaster = 10)
|
/obj/item/weapon/cartridge/captain = 3,/obj/item/weapon/cartridge/quartermaster = 10)
|
||||||
|
req_log_access = access_hop
|
||||||
|
has_logs = 1
|
||||||
|
|
||||||
/obj/machinery/vending/cigarette
|
/obj/machinery/vending/cigarette
|
||||||
name = "Cigarette machine" //OCD had to be uppercase to look nice with the new formating
|
name = "Cigarette machine" //OCD had to be uppercase to look nice with the new formating
|
||||||
@@ -798,7 +842,6 @@
|
|||||||
/obj/item/weapon/storage/box/matches = 1,
|
/obj/item/weapon/storage/box/matches = 1,
|
||||||
/obj/item/weapon/flame/lighter/random = 2)
|
/obj/item/weapon/flame/lighter/random = 2)
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/vending/medical
|
/obj/machinery/vending/medical
|
||||||
name = "NanoMed Plus"
|
name = "NanoMed Plus"
|
||||||
desc = "Medical drug dispenser."
|
desc = "Medical drug dispenser."
|
||||||
@@ -814,7 +857,8 @@
|
|||||||
/obj/item/weapon/storage/box/khcrystal = 4) //VOREStation Add
|
/obj/item/weapon/storage/box/khcrystal = 4) //VOREStation Add
|
||||||
contraband = list(/obj/item/weapon/reagent_containers/pill/tox = 3,/obj/item/weapon/reagent_containers/pill/stox = 4,/obj/item/weapon/reagent_containers/pill/antitox = 6)
|
contraband = list(/obj/item/weapon/reagent_containers/pill/tox = 3,/obj/item/weapon/reagent_containers/pill/stox = 4,/obj/item/weapon/reagent_containers/pill/antitox = 6)
|
||||||
idle_power_usage = 211 //refrigerator - believe it or not, this is actually the average power consumption of a refrigerated vending machine according to NRCan.
|
idle_power_usage = 211 //refrigerator - believe it or not, this is actually the average power consumption of a refrigerated vending machine according to NRCan.
|
||||||
|
req_log_access = access_cmo
|
||||||
|
has_logs = 1
|
||||||
|
|
||||||
//This one's from bay12
|
//This one's from bay12
|
||||||
/obj/machinery/vending/phoronresearch
|
/obj/machinery/vending/phoronresearch
|
||||||
@@ -823,6 +867,8 @@
|
|||||||
products = list(/obj/item/clothing/under/rank/scientist = 6,/obj/item/clothing/suit/bio_suit = 6,/obj/item/clothing/head/bio_hood = 6,
|
products = list(/obj/item/clothing/under/rank/scientist = 6,/obj/item/clothing/suit/bio_suit = 6,/obj/item/clothing/head/bio_hood = 6,
|
||||||
/obj/item/device/transfer_valve = 6,/obj/item/device/assembly/timer = 6,/obj/item/device/assembly/signaler = 6,
|
/obj/item/device/transfer_valve = 6,/obj/item/device/assembly/timer = 6,/obj/item/device/assembly/signaler = 6,
|
||||||
/obj/item/device/assembly/prox_sensor = 6,/obj/item/device/assembly/igniter = 6)
|
/obj/item/device/assembly/prox_sensor = 6,/obj/item/device/assembly/igniter = 6)
|
||||||
|
req_log_access = access_rd
|
||||||
|
has_logs = 1
|
||||||
|
|
||||||
/obj/machinery/vending/wallmed1
|
/obj/machinery/vending/wallmed1
|
||||||
name = "NanoMed"
|
name = "NanoMed"
|
||||||
@@ -833,6 +879,8 @@
|
|||||||
density = 0 //It is wall-mounted, and thus, not dense. --Superxpdude
|
density = 0 //It is wall-mounted, and thus, not dense. --Superxpdude
|
||||||
products = list(/obj/item/stack/medical/bruise_pack = 2,/obj/item/stack/medical/ointment = 2,/obj/item/weapon/reagent_containers/hypospray/autoinjector = 4,/obj/item/device/healthanalyzer = 1)
|
products = list(/obj/item/stack/medical/bruise_pack = 2,/obj/item/stack/medical/ointment = 2,/obj/item/weapon/reagent_containers/hypospray/autoinjector = 4,/obj/item/device/healthanalyzer = 1)
|
||||||
contraband = list(/obj/item/weapon/reagent_containers/syringe/antitoxin = 4,/obj/item/weapon/reagent_containers/syringe/antiviral = 4,/obj/item/weapon/reagent_containers/pill/tox = 1)
|
contraband = list(/obj/item/weapon/reagent_containers/syringe/antitoxin = 4,/obj/item/weapon/reagent_containers/syringe/antiviral = 4,/obj/item/weapon/reagent_containers/pill/tox = 1)
|
||||||
|
req_log_access = access_cmo
|
||||||
|
has_logs = 1
|
||||||
|
|
||||||
/obj/machinery/vending/wallmed2
|
/obj/machinery/vending/wallmed2
|
||||||
name = "NanoMed"
|
name = "NanoMed"
|
||||||
@@ -843,6 +891,8 @@
|
|||||||
products = list(/obj/item/weapon/reagent_containers/hypospray/autoinjector = 5,/obj/item/weapon/reagent_containers/syringe/antitoxin = 3,/obj/item/stack/medical/bruise_pack = 3,
|
products = list(/obj/item/weapon/reagent_containers/hypospray/autoinjector = 5,/obj/item/weapon/reagent_containers/syringe/antitoxin = 3,/obj/item/stack/medical/bruise_pack = 3,
|
||||||
/obj/item/stack/medical/ointment =3,/obj/item/device/healthanalyzer = 3)
|
/obj/item/stack/medical/ointment =3,/obj/item/device/healthanalyzer = 3)
|
||||||
contraband = list(/obj/item/weapon/reagent_containers/pill/tox = 3)
|
contraband = list(/obj/item/weapon/reagent_containers/pill/tox = 3)
|
||||||
|
req_log_access = access_cmo
|
||||||
|
has_logs = 1
|
||||||
|
|
||||||
/obj/machinery/vending/security
|
/obj/machinery/vending/security
|
||||||
name = "SecTech"
|
name = "SecTech"
|
||||||
@@ -854,6 +904,8 @@
|
|||||||
products = list(/obj/item/weapon/handcuffs = 8,/obj/item/weapon/grenade/flashbang = 4,/obj/item/device/flash = 5,
|
products = list(/obj/item/weapon/handcuffs = 8,/obj/item/weapon/grenade/flashbang = 4,/obj/item/device/flash = 5,
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/donut/normal = 12,/obj/item/weapon/storage/box/evidence = 6)
|
/obj/item/weapon/reagent_containers/food/snacks/donut/normal = 12,/obj/item/weapon/storage/box/evidence = 6)
|
||||||
contraband = list(/obj/item/clothing/glasses/sunglasses = 2,/obj/item/weapon/storage/box/donut = 2)
|
contraband = list(/obj/item/clothing/glasses/sunglasses = 2,/obj/item/weapon/storage/box/donut = 2)
|
||||||
|
req_log_access = access_armory
|
||||||
|
has_logs = 1
|
||||||
|
|
||||||
/obj/machinery/vending/hydronutrients
|
/obj/machinery/vending/hydronutrients
|
||||||
name = "NutriMax"
|
name = "NutriMax"
|
||||||
@@ -945,8 +997,6 @@
|
|||||||
/obj/item/weapon/storage/toolbox/lunchbox/cti = 3,
|
/obj/item/weapon/storage/toolbox/lunchbox/cti = 3,
|
||||||
/obj/item/weapon/storage/toolbox/lunchbox/nymph = 3,
|
/obj/item/weapon/storage/toolbox/lunchbox/nymph = 3,
|
||||||
/obj/item/weapon/storage/toolbox/lunchbox/syndicate = 3)
|
/obj/item/weapon/storage/toolbox/lunchbox/syndicate = 3)
|
||||||
|
|
||||||
|
|
||||||
contraband = list(/obj/item/weapon/material/knife/butch = 2)
|
contraband = list(/obj/item/weapon/material/knife/butch = 2)
|
||||||
|
|
||||||
/obj/machinery/vending/sovietsoda
|
/obj/machinery/vending/sovietsoda
|
||||||
@@ -970,6 +1020,8 @@
|
|||||||
/obj/item/device/flashlight/glowstick/orange =3, /obj/item/device/flashlight/glowstick/yellow = 3)
|
/obj/item/device/flashlight/glowstick/orange =3, /obj/item/device/flashlight/glowstick/yellow = 3)
|
||||||
contraband = list(/obj/item/weapon/weldingtool/hugetank = 2,/obj/item/clothing/gloves/fyellow = 2,)
|
contraband = list(/obj/item/weapon/weldingtool/hugetank = 2,/obj/item/clothing/gloves/fyellow = 2,)
|
||||||
premium = list(/obj/item/clothing/gloves/yellow = 1)
|
premium = list(/obj/item/clothing/gloves/yellow = 1)
|
||||||
|
req_log_access = access_ce
|
||||||
|
has_logs = 1
|
||||||
|
|
||||||
/obj/machinery/vending/engivend
|
/obj/machinery/vending/engivend
|
||||||
name = "Engi-Vend"
|
name = "Engi-Vend"
|
||||||
@@ -991,6 +1043,8 @@
|
|||||||
contraband = list(/obj/item/weapon/cell/potato = 3)
|
contraband = list(/obj/item/weapon/cell/potato = 3)
|
||||||
premium = list(/obj/item/weapon/storage/belt/utility = 3)
|
premium = list(/obj/item/weapon/storage/belt/utility = 3)
|
||||||
product_records = list()
|
product_records = list()
|
||||||
|
req_log_access = access_ce
|
||||||
|
has_logs = 1
|
||||||
|
|
||||||
//This one's from bay12
|
//This one's from bay12
|
||||||
/obj/machinery/vending/engineering
|
/obj/machinery/vending/engineering
|
||||||
@@ -1008,6 +1062,8 @@
|
|||||||
// There was an incorrect entry (cablecoil/power). I improvised to cablecoil/heavyduty.
|
// There was an incorrect entry (cablecoil/power). I improvised to cablecoil/heavyduty.
|
||||||
// Another invalid entry, /obj/item/weapon/circuitry. I don't even know what that would translate to, removed it.
|
// Another invalid entry, /obj/item/weapon/circuitry. I don't even know what that would translate to, removed it.
|
||||||
// The original products list wasn't finished. The ones without given quantities became quantity 5. -Sayu
|
// The original products list wasn't finished. The ones without given quantities became quantity 5. -Sayu
|
||||||
|
req_log_access = access_ce
|
||||||
|
has_logs = 1
|
||||||
|
|
||||||
//This one's from bay12
|
//This one's from bay12
|
||||||
/obj/machinery/vending/robotics
|
/obj/machinery/vending/robotics
|
||||||
@@ -1018,6 +1074,8 @@
|
|||||||
req_access = list(access_robotics)
|
req_access = list(access_robotics)
|
||||||
products = list(/obj/item/clothing/suit/storage/toggle/labcoat = 4,/obj/item/clothing/under/rank/roboticist = 4,/obj/item/stack/cable_coil = 4,/obj/item/device/flash = 4,
|
products = list(/obj/item/clothing/suit/storage/toggle/labcoat = 4,/obj/item/clothing/under/rank/roboticist = 4,/obj/item/stack/cable_coil = 4,/obj/item/device/flash = 4,
|
||||||
/obj/item/weapon/cell/high = 12, /obj/item/device/assembly/prox_sensor = 3,/obj/item/device/assembly/signaler = 3,/obj/item/device/healthanalyzer = 3,
|
/obj/item/weapon/cell/high = 12, /obj/item/device/assembly/prox_sensor = 3,/obj/item/device/assembly/signaler = 3,/obj/item/device/healthanalyzer = 3,
|
||||||
/obj/item/weapon/scalpel = 2,/obj/item/weapon/circular_saw = 2,/obj/item/weapon/tank/anesthetic = 2,/obj/item/clothing/mask/breath/medical = 5,
|
/obj/item/weapon/surgical/scalpel = 2,/obj/item/weapon/surgical/circular_saw = 2,/obj/item/weapon/tank/anesthetic = 2,/obj/item/clothing/mask/breath/medical = 5,
|
||||||
/obj/item/weapon/screwdriver = 5,/obj/item/weapon/crowbar = 5)
|
/obj/item/weapon/screwdriver = 5,/obj/item/weapon/crowbar = 5)
|
||||||
//everything after the power cell had no amounts, I improvised. -Sayu
|
//everything after the power cell had no amounts, I improvised. -Sayu
|
||||||
|
req_log_access = access_rd
|
||||||
|
has_logs = 1
|
||||||
@@ -808,7 +808,8 @@
|
|||||||
var/total_phoronloss = 0
|
var/total_phoronloss = 0
|
||||||
for(var/obj/item/I in src)
|
for(var/obj/item/I in src)
|
||||||
if(I.contaminated)
|
if(I.contaminated)
|
||||||
total_phoronloss += vsc.plc.CONTAMINATION_LOSS
|
if(src.species && src.species.get_bodytype() != "Vox")
|
||||||
|
total_phoronloss += vsc.plc.CONTAMINATION_LOSS
|
||||||
if(!(status_flags & GODMODE)) adjustToxLoss(total_phoronloss)
|
if(!(status_flags & GODMODE)) adjustToxLoss(total_phoronloss)
|
||||||
|
|
||||||
if(status_flags & GODMODE) return 0 //godmode
|
if(status_flags & GODMODE) return 0 //godmode
|
||||||
@@ -1335,11 +1336,9 @@
|
|||||||
if(istype(G, /obj/item/clothing/glasses/sunglasses/sechud))
|
if(istype(G, /obj/item/clothing/glasses/sunglasses/sechud))
|
||||||
var/obj/item/clothing/glasses/sunglasses/sechud/S = G
|
var/obj/item/clothing/glasses/sunglasses/sechud/S = G
|
||||||
O = S.hud
|
O = S.hud
|
||||||
//VOREStation Add - Support for omnihud glasses
|
if(istype(G, /obj/item/clothing/glasses/sunglasses/medhud))
|
||||||
if(istype(G, /obj/item/clothing/glasses/sunglasses/omnihud))
|
var/obj/item/clothing/glasses/sunglasses/medhud/M = G
|
||||||
var/obj/item/clothing/glasses/sunglasses/omnihud/S = G
|
O = M.hud
|
||||||
O = S.hud
|
|
||||||
//VOREStation Add End
|
|
||||||
if(istype(O))
|
if(istype(O))
|
||||||
O.process_hud(src)
|
O.process_hud(src)
|
||||||
if(!druggy && !seer) see_invisible = SEE_INVISIBLE_LIVING
|
if(!druggy && !seer) see_invisible = SEE_INVISIBLE_LIVING
|
||||||
|
|||||||
@@ -28,9 +28,9 @@ var/datum/species/shapeshifter/promethean/prometheans
|
|||||||
breath_type = null
|
breath_type = null
|
||||||
poison_type = null
|
poison_type = null
|
||||||
|
|
||||||
// gluttonous = 2 // Vorestation edit. Redundant feature.
|
// gluttonous = 1 // Vorestation edit. Redundant feature.
|
||||||
virus_immune = 1
|
virus_immune = 1
|
||||||
blood_volume = 600
|
blood_volume = 560
|
||||||
min_age = 1
|
min_age = 1
|
||||||
max_age = 5
|
max_age = 5
|
||||||
brute_mod = 0.5
|
brute_mod = 0.5
|
||||||
@@ -73,7 +73,8 @@ var/datum/species/shapeshifter/promethean/prometheans
|
|||||||
/mob/living/carbon/human/proc/shapeshifter_select_shape,
|
/mob/living/carbon/human/proc/shapeshifter_select_shape,
|
||||||
/mob/living/carbon/human/proc/shapeshifter_select_colour,
|
/mob/living/carbon/human/proc/shapeshifter_select_colour,
|
||||||
/mob/living/carbon/human/proc/shapeshifter_select_hair,
|
/mob/living/carbon/human/proc/shapeshifter_select_hair,
|
||||||
/mob/living/carbon/human/proc/shapeshifter_select_gender
|
/mob/living/carbon/human/proc/shapeshifter_select_gender,
|
||||||
|
/mob/living/carbon/human/proc/regenerate
|
||||||
)
|
)
|
||||||
|
|
||||||
valid_transform_species = list("Human", "Unathi", "Tajara", "Skrell", "Diona", "Teshari", "Monkey")
|
valid_transform_species = list("Human", "Unathi", "Tajara", "Skrell", "Diona", "Teshari", "Monkey")
|
||||||
@@ -130,42 +131,14 @@ var/datum/species/shapeshifter/promethean/prometheans
|
|||||||
var/obj/effect/decal/cleanable/C = locate() in T
|
var/obj/effect/decal/cleanable/C = locate() in T
|
||||||
if(C)
|
if(C)
|
||||||
qdel(C)
|
qdel(C)
|
||||||
//TODO: gain nutriment
|
H.nutrition += rand(15, 45)
|
||||||
|
|
||||||
// Regenerate limbs and heal damage if we have any. Copied from Bay xenos code.
|
|
||||||
|
|
||||||
// Theoretically the only internal organ a slime will have
|
|
||||||
// is the slime core. but we might as well be thorough.
|
|
||||||
for(var/obj/item/organ/I in H.internal_organs)
|
|
||||||
if(I.damage > 0)
|
|
||||||
I.damage = max(I.damage - heal_rate, 0)
|
|
||||||
if (prob(5))
|
|
||||||
H << "<span class='notice'>You feel a soothing sensation within your [I.name]...</span>"
|
|
||||||
return 1
|
|
||||||
|
|
||||||
// Replace completely missing limbs.
|
|
||||||
for(var/limb_type in has_limbs)
|
|
||||||
var/obj/item/organ/external/E = H.organs_by_name[limb_type]
|
|
||||||
if(E && (E.is_stump() || (E.status & (ORGAN_DESTROYED|ORGAN_DEAD|ORGAN_MUTATED))))
|
|
||||||
E.removed()
|
|
||||||
qdel(E)
|
|
||||||
E = null
|
|
||||||
if(!E)
|
|
||||||
var/list/organ_data = has_limbs[limb_type]
|
|
||||||
var/limb_path = organ_data["path"]
|
|
||||||
var/obj/item/organ/O = new limb_path(H)
|
|
||||||
organ_data["descriptor"] = O.name
|
|
||||||
H << "<span class='notice'>You feel a slithering sensation as your [O.name] reforms.</span>"
|
|
||||||
H.update_body()
|
|
||||||
return 1
|
|
||||||
|
|
||||||
// Heal remaining damage.
|
// Heal remaining damage.
|
||||||
if (H.getBruteLoss() || H.getFireLoss() || H.getOxyLoss() || H.getToxLoss())
|
if(H.getBruteLoss() || H.getFireLoss() || H.getOxyLoss() || H.getToxLoss())
|
||||||
H.adjustBruteLoss(-heal_rate)
|
H.adjustBruteLoss(-heal_rate)
|
||||||
H.adjustFireLoss(-heal_rate)
|
H.adjustFireLoss(-heal_rate)
|
||||||
H.adjustOxyLoss(-heal_rate)
|
H.adjustOxyLoss(-heal_rate)
|
||||||
H.adjustToxLoss(-heal_rate)
|
H.adjustToxLoss(-heal_rate)
|
||||||
return 1
|
|
||||||
|
|
||||||
/datum/species/shapeshifter/promethean/get_blood_colour(var/mob/living/carbon/human/H)
|
/datum/species/shapeshifter/promethean/get_blood_colour(var/mob/living/carbon/human/H)
|
||||||
return (H ? rgb(H.r_skin, H.g_skin, H.b_skin) : ..())
|
return (H ? rgb(H.r_skin, H.g_skin, H.b_skin) : ..())
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
interests, rampant cyber and bio-augmentation and secretive factions make life on most human \
|
interests, rampant cyber and bio-augmentation and secretive factions make life on most human \
|
||||||
worlds tumultous at best."
|
worlds tumultous at best."
|
||||||
num_alternate_languages = 3
|
num_alternate_languages = 3
|
||||||
secondary_langs = list("Sol Common")
|
secondary_langs = list(LANGUAGE_SOL_COMMON)
|
||||||
name_language = null // Use the first-name last-name generator rather than a language scrambler
|
name_language = null // Use the first-name last-name generator rather than a language scrambler
|
||||||
min_age = 17
|
min_age = 17
|
||||||
max_age = 110
|
max_age = 110
|
||||||
@@ -36,8 +36,8 @@
|
|||||||
slowdown = 0.5
|
slowdown = 0.5
|
||||||
brute_mod = 0.8
|
brute_mod = 0.8
|
||||||
num_alternate_languages = 3
|
num_alternate_languages = 3
|
||||||
secondary_langs = list("Sinta'unathi")
|
secondary_langs = list(LANGUAGE_UNATHI)
|
||||||
name_language = "Sinta'unathi"
|
name_language = LANGUAGE_UNATHI
|
||||||
health_hud_intensity = 2.5
|
health_hud_intensity = 2.5
|
||||||
|
|
||||||
min_age = 18
|
min_age = 18
|
||||||
@@ -95,10 +95,11 @@
|
|||||||
slowdown = -0.5
|
slowdown = -0.5
|
||||||
brute_mod = 1.15
|
brute_mod = 1.15
|
||||||
burn_mod = 1.15
|
burn_mod = 1.15
|
||||||
// gluttonous = 1 // Vorestation edit. Redundant feature.
|
metabolic_rate = 1.1
|
||||||
|
gluttonous = 1
|
||||||
num_alternate_languages = 3
|
num_alternate_languages = 3
|
||||||
secondary_langs = list("Siik")
|
secondary_langs = list(LANGUAGE_SIIK)
|
||||||
name_language = "Siik"
|
name_language = LANGUAGE_SIIK
|
||||||
health_hud_intensity = 2.5
|
health_hud_intensity = 2.5
|
||||||
|
|
||||||
min_age = 17
|
min_age = 17
|
||||||
@@ -152,8 +153,8 @@
|
|||||||
herbivores on the whole and tend to be co-operative with the other species of the galaxy, although they rarely reveal \
|
herbivores on the whole and tend to be co-operative with the other species of the galaxy, although they rarely reveal \
|
||||||
the secrets of their empire to their allies."
|
the secrets of their empire to their allies."
|
||||||
num_alternate_languages = 3
|
num_alternate_languages = 3
|
||||||
secondary_langs = list("Skrellian", "Schechi")
|
secondary_langs = list(LANGUAGE_SKRELLIAN, LANGUAGE_SCHECHI)
|
||||||
name_language = "Skrellian"
|
name_language = LANGUAGE_SKRELLIAN
|
||||||
health_hud_intensity = 2
|
health_hud_intensity = 2
|
||||||
|
|
||||||
min_age = 19
|
min_age = 19
|
||||||
@@ -197,7 +198,7 @@
|
|||||||
name_plural = "Dionaea"
|
name_plural = "Dionaea"
|
||||||
icobase = 'icons/mob/human_races/r_diona.dmi'
|
icobase = 'icons/mob/human_races/r_diona.dmi'
|
||||||
deform = 'icons/mob/human_races/r_def_plant.dmi'
|
deform = 'icons/mob/human_races/r_def_plant.dmi'
|
||||||
language = "Rootspeak"
|
language = LANGUAGE_ROOTLOCAL
|
||||||
unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/diona)
|
unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/diona)
|
||||||
//primitive_form = "Nymph"
|
//primitive_form = "Nymph"
|
||||||
slowdown = 5
|
slowdown = 5
|
||||||
@@ -206,7 +207,8 @@
|
|||||||
siemens_coefficient = 0.3
|
siemens_coefficient = 0.3
|
||||||
show_ssd = "completely quiescent"
|
show_ssd = "completely quiescent"
|
||||||
num_alternate_languages = 2
|
num_alternate_languages = 2
|
||||||
name_language = "Rootspeak"
|
secondary_langs = list(LANGUAGE_ROOTGLOBAL)
|
||||||
|
name_language = LANGUAGE_ROOTLOCAL
|
||||||
health_hud_intensity = 2.5
|
health_hud_intensity = 2.5
|
||||||
|
|
||||||
min_age = 1
|
min_age = 1
|
||||||
@@ -244,7 +246,8 @@
|
|||||||
)
|
)
|
||||||
|
|
||||||
inherent_verbs = list(
|
inherent_verbs = list(
|
||||||
/mob/living/carbon/human/proc/diona_split_nymph
|
/mob/living/carbon/human/proc/diona_split_nymph,
|
||||||
|
/mob/living/carbon/human/proc/regenerate
|
||||||
)
|
)
|
||||||
|
|
||||||
warning_low_pressure = 50
|
warning_low_pressure = 50
|
||||||
|
|||||||
@@ -299,6 +299,7 @@
|
|||||||
icobase = 'icons/mob/human_races/r_tajaran_vr.dmi'
|
icobase = 'icons/mob/human_races/r_tajaran_vr.dmi'
|
||||||
deform = 'icons/mob/human_races/r_def_tajaran_vr.dmi'
|
deform = 'icons/mob/human_races/r_def_tajaran_vr.dmi'
|
||||||
min_age = 18
|
min_age = 18
|
||||||
|
gluttonous = 0 //Moving this here so I don't have to fix this conflict every time polaris glances at station.dm
|
||||||
|
|
||||||
/datum/species/skrell
|
/datum/species/skrell
|
||||||
spawn_flags = SPECIES_CAN_JOIN
|
spawn_flags = SPECIES_CAN_JOIN
|
||||||
|
|||||||
@@ -93,6 +93,7 @@ h1.alert, h2.alert {color: #000000;}
|
|||||||
.sergal {color: #0077FF;}
|
.sergal {color: #0077FF;}
|
||||||
.birdsongc {color: #CC9900;}
|
.birdsongc {color: #CC9900;}
|
||||||
.vulpkanin {color: #B97A57;}
|
.vulpkanin {color: #B97A57;}
|
||||||
|
.vox {color: #AA00AA;}
|
||||||
.rough {font-family: "Trebuchet MS", cursive, sans-serif;}
|
.rough {font-family: "Trebuchet MS", cursive, sans-serif;}
|
||||||
.say_quote {font-family: Georgia, Verdana, sans-serif;}
|
.say_quote {font-family: Georgia, Verdana, sans-serif;}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user