mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-27 02:23:47 +00:00
Merge branch 'master' of https://github.com/PolarisSS13/Polaris into plasmastun
This commit is contained in:
@@ -160,7 +160,8 @@ var/list/admin_verbs_server = list(
|
||||
/datum/admins/proc/toggle_space_ninja,
|
||||
/client/proc/toggle_random_events,
|
||||
/client/proc/check_customitem_activity,
|
||||
/client/proc/nanomapgen_DumpImage
|
||||
/client/proc/nanomapgen_DumpImage,
|
||||
/client/proc/modify_server_news
|
||||
)
|
||||
var/list/admin_verbs_debug = list(
|
||||
/client/proc/getruntimelog, //allows us to access runtime logs to somebody,
|
||||
|
||||
42
code/modules/admin/news.dm
Normal file
42
code/modules/admin/news.dm
Normal file
@@ -0,0 +1,42 @@
|
||||
#define NEWSFILE "data/news.sav" //where the memos are saved
|
||||
|
||||
/client/
|
||||
var/last_news_hash = null // Stores a hash of the last news window it saw, which gets compared to the current one to see if it is different.
|
||||
|
||||
// Returns true if news was updated since last seen.
|
||||
/client/proc/check_for_new_server_news()
|
||||
var/savefile/F = get_server_news()
|
||||
if(F)
|
||||
if(md5(F["body"]) != last_news_hash)
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/client/proc/modify_server_news()
|
||||
set name = "Modify Public News"
|
||||
set category = "Server"
|
||||
|
||||
if(!check_rights(0))
|
||||
return
|
||||
|
||||
var/savefile/F = new(NEWSFILE)
|
||||
if(F)
|
||||
var/title = F["title"]
|
||||
var/body = F["body"]
|
||||
var/new_title = sanitize(input(src,"Write a good title for the news update. Note: HTML is NOT supported.","Write News", title) as null|text, extra = 0)
|
||||
if(!new_title)
|
||||
return
|
||||
var/new_body = sanitize(input(src,"Write the body of the news update here. Note: HTML is NOT supported.","Write News", body) as null|message, extra = 0)
|
||||
if(findtext(new_body,"<script",1,0) ) // Is this needed with santize()?
|
||||
return
|
||||
F["title"] << new_title
|
||||
F["body"] << new_body
|
||||
F["author"] << key
|
||||
F["timestamp"] << time2text(world.realtime, "DDD, MMM DD YYYY")
|
||||
message_admins("[key] modified the news to read:<br>[new_title]<br>[new_body]")
|
||||
|
||||
/proc/get_server_news()
|
||||
var/savefile/F = new(NEWSFILE)
|
||||
if(F)
|
||||
return F
|
||||
|
||||
#undef NEWSFILE
|
||||
@@ -387,7 +387,7 @@
|
||||
path = /obj/item/clothing/under/pt
|
||||
|
||||
/datum/gear/uniform/pt/expeditionary
|
||||
display_name = "pt uniform, expeditionary"
|
||||
display_name = "pt uniform, sifguard"
|
||||
path = /obj/item/clothing/under/pt/expeditionary
|
||||
|
||||
/datum/gear/uniform/pt/fleet
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
var/last_message_time = 0
|
||||
var/spam_alert = 0
|
||||
|
||||
/client/proc/handle_spam_prevention(var/mute_type = MUTE_ALL, var/spam_delay = 1 SECOND)
|
||||
/client/proc/handle_spam_prevention(var/mute_type = MUTE_ALL, var/spam_delay = 0.5 SECONDS)
|
||||
if(world.time - last_message_time < spam_delay)
|
||||
spam_alert++
|
||||
if(spam_alert > 3)
|
||||
|
||||
@@ -404,6 +404,7 @@
|
||||
|
||||
if(usr.put_in_hands(holding))
|
||||
usr.visible_message("<span class='danger'>\The [usr] pulls a knife out of their boot!</span>")
|
||||
playsound(src.loc, 'sound/weapons/flipblade.ogg', 40, 1)
|
||||
holding = null
|
||||
else
|
||||
usr << "<span class='warning'>Your need an empty, unbroken hand to do that.</span>"
|
||||
@@ -415,6 +416,11 @@
|
||||
update_icon()
|
||||
return
|
||||
|
||||
/obj/item/clothing/shoes/attack_hand(var/mob/living/M)
|
||||
if(can_hold_knife == 1 && holding && src.loc == M)
|
||||
draw_knife()
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/clothing/shoes/attackby(var/obj/item/I, var/mob/user)
|
||||
if((can_hold_knife == 1) && (istype(I, /obj/item/weapon/material/shard) || \
|
||||
|
||||
@@ -11,8 +11,8 @@
|
||||
)
|
||||
|
||||
/obj/item/clothing/head/soft/sol/expedition
|
||||
name = "\improper Expeditionary Corps cap"
|
||||
desc = "It's a black ballcap bearing a Expeditonary Corps crest."
|
||||
name = "\improper SifGuard cap"
|
||||
desc = "It's a black ballcap bearing a Sif Homeguard Corps crest."
|
||||
icon_state = "expeditionsoft"
|
||||
item_state_slots = list(
|
||||
slot_l_hand_str = "blacksoft",
|
||||
@@ -114,13 +114,13 @@
|
||||
body_parts_covered = 0
|
||||
|
||||
/obj/item/clothing/head/dress/expedition
|
||||
name = "expedition dress cap"
|
||||
desc = "A peaked grey dress uniform cap belonging to the SCG Expeditionary Corps."
|
||||
name = "\improper SifGuard dress cap"
|
||||
desc = "A peaked grey dress uniform cap belonging to the Sif Homeguard Corps."
|
||||
icon_state = "greydresscap"
|
||||
|
||||
/obj/item/clothing/head/dress/expedition/command
|
||||
name = "expedition command dress cap"
|
||||
desc = "A peaked grey dress uniform cap belonging to the SCG Expeditionary Corps. This one is trimmed in gold."
|
||||
name = "\improper SifGuard command dress cap"
|
||||
desc = "A peaked grey dress uniform cap belonging to the Sif Homeguard Corps. This one is trimmed in gold."
|
||||
icon_state = "greydresscap_com"
|
||||
|
||||
/obj/item/clothing/head/dress/fleet
|
||||
@@ -181,33 +181,33 @@
|
||||
icon_state = "beret_white"
|
||||
|
||||
/obj/item/clothing/head/beret/sol/expedition
|
||||
name = "expeditionary beret"
|
||||
desc = "A black beret belonging to the SCG Expeditionary Corps. For personnel that are more inclined towards style than safety."
|
||||
name = "\improper SifGuard beret"
|
||||
desc = "A black beret belonging to the Sif Homeguard Corps. For personnel that are more inclined towards style than safety."
|
||||
icon_state = "beret_black"
|
||||
|
||||
/obj/item/clothing/head/beret/sol/expedition/security
|
||||
name = "expeditionary security beret"
|
||||
desc = "An SCG Expeditionary Corps beret with a security crest. For personnel that are more inclined towards style than safety."
|
||||
name = "\improper SifGuard security beret"
|
||||
desc = "An Sif Homeguard Corps beret with a security crest. For personnel that are more inclined towards style than safety."
|
||||
icon_state = "beret_black_security"
|
||||
|
||||
/obj/item/clothing/head/beret/sol/expedition/medical
|
||||
name = "expeditionary medical beret"
|
||||
desc = "An SCG Expeditionary Corps beret with a medical crest. For personnel that are more inclined towards style than safety."
|
||||
name = "\improper SifGuard medical beret"
|
||||
desc = "An Sif Homeguard Corps beret with a medical crest. For personnel that are more inclined towards style than safety."
|
||||
icon_state = "beret_black_medical"
|
||||
|
||||
/obj/item/clothing/head/beret/sol/expedition/engineering
|
||||
name = "expeditionary engineering beret"
|
||||
desc = "An SCG Expeditionary Corps beret with an engineering crest. For personnel that are more inclined towards style than safety."
|
||||
name = "\improper SifGuard engineering beret"
|
||||
desc = "An Sif Homeguard Corps beret with an engineering crest. For personnel that are more inclined towards style than safety."
|
||||
icon_state = "beret_black_engineering"
|
||||
|
||||
/obj/item/clothing/head/beret/sol/expedition/supply
|
||||
name = "expeditionary supply beret"
|
||||
desc = "An SCG Expeditionary Corps beret with a supply crest. For personnel that are more inclined towards style than safety."
|
||||
name = "\improper SifGuard supply beret"
|
||||
desc = "An Sif Homeguard Corps beret with a supply crest. For personnel that are more inclined towards style than safety."
|
||||
icon_state = "beret_black_supply"
|
||||
|
||||
/obj/item/clothing/head/beret/sol/expedition/command
|
||||
name = "expeditionary command beret"
|
||||
desc = "An SCG Expeditionary Corps beret with a command crest. For personnel that are more inclined towards style than safety."
|
||||
name = "\improper SifGuard command beret"
|
||||
desc = "An Sif Homeguard Corps beret with a command crest. For personnel that are more inclined towards style than safety."
|
||||
icon_state = "beret_black_command"
|
||||
|
||||
/obj/item/clothing/head/beret/sol/fleet
|
||||
|
||||
@@ -27,36 +27,7 @@
|
||||
armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 10, rad = 0)
|
||||
item_flags = NOSLIP
|
||||
siemens_coefficient = 0.6
|
||||
var/obj/item/weapon/material/hatchet/tacknife
|
||||
|
||||
/obj/item/clothing/shoes/swat/attack_hand(var/mob/living/M)
|
||||
if(tacknife)
|
||||
tacknife.loc = get_turf(src)
|
||||
if(M.put_in_active_hand(tacknife))
|
||||
M << "<span class='notice'>You slide \the [tacknife] out of [src].</span>"
|
||||
playsound(M, 'sound/weapons/flipblade.ogg', 40, 1)
|
||||
tacknife = null
|
||||
update_icon()
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/clothing/shoes/swat/attackby(var/obj/item/I, var/mob/living/M)
|
||||
if(istype(I, /obj/item/weapon/material/hatchet/tacknife))
|
||||
if(tacknife)
|
||||
return
|
||||
M.drop_item()
|
||||
tacknife = I
|
||||
I.loc = src
|
||||
M << "<span class='notice'>You slide the [I] into [src].</span>"
|
||||
playsound(M, 'sound/weapons/flipblade.ogg', 40, 1)
|
||||
update_icon()
|
||||
..()
|
||||
|
||||
/obj/item/clothing/shoes/swat/update_icon()
|
||||
if(tacknife)
|
||||
icon_state = "swat_1"
|
||||
else
|
||||
icon_state = initial(icon_state)
|
||||
can_hold_knife = 1
|
||||
|
||||
//Stolen from CM, refurbished to be less terrible.
|
||||
/obj/item/clothing/shoes/marine
|
||||
@@ -66,36 +37,7 @@
|
||||
item_state_slots = list(slot_r_hand_str = "jackboots", slot_l_hand_str = "jackboots")
|
||||
armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 10, rad = 0)
|
||||
siemens_coefficient = 0.6
|
||||
var/obj/item/weapon/material/hatchet/tacknife
|
||||
|
||||
/obj/item/clothing/shoes/marine/attack_hand(var/mob/living/M)
|
||||
if(tacknife)
|
||||
tacknife.loc = get_turf(src)
|
||||
if(M.put_in_active_hand(tacknife))
|
||||
M << "<span class='notice'>You slide \the [tacknife] out of [src].</span>"
|
||||
playsound(M, 'sound/weapons/flipblade.ogg', 40, 1)
|
||||
tacknife = null
|
||||
update_icon()
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/clothing/shoes/marine/attackby(var/obj/item/I, var/mob/living/M)
|
||||
if(istype(I, /obj/item/weapon/material/hatchet/tacknife))
|
||||
if(tacknife)
|
||||
return
|
||||
M.drop_item()
|
||||
tacknife = I
|
||||
I.loc = src
|
||||
M << "<span class='notice'>You slide the [I] into [src].</span>"
|
||||
playsound(M, 'sound/weapons/flipblade.ogg', 40, 1)
|
||||
update_icon()
|
||||
..()
|
||||
|
||||
/obj/item/clothing/shoes/marine/update_icon()
|
||||
if(tacknife)
|
||||
icon_state = "jackboots_1"
|
||||
else
|
||||
icon_state = initial(icon_state)
|
||||
can_hold_knife = 1
|
||||
|
||||
/obj/item/clothing/shoes/combat //Basically SWAT shoes combined with galoshes.
|
||||
name = "combat boots"
|
||||
@@ -105,6 +47,7 @@
|
||||
armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 10, rad = 0)
|
||||
item_flags = NOSLIP
|
||||
siemens_coefficient = 0.6
|
||||
can_hold_knife = 1
|
||||
|
||||
cold_protection = FEET
|
||||
min_cold_protection_temperature = SHOE_MIN_COLD_PROTECTION_TEMPERATURE
|
||||
@@ -118,6 +61,7 @@
|
||||
force = 3
|
||||
armor = list(melee = 30, bullet = 10, laser = 10, energy = 15, bomb = 20, bio = 10, rad = 0)
|
||||
siemens_coefficient = 0.7
|
||||
can_hold_knife = 1
|
||||
|
||||
/obj/item/clothing/shoes/dutyboots
|
||||
name = "duty boots"
|
||||
@@ -125,6 +69,7 @@
|
||||
icon_state = "duty"
|
||||
armor = list(melee = 40, bullet = 0, laser = 0, energy = 15, bomb = 20, bio = 0, rad = 20)
|
||||
siemens_coefficient = 0.7
|
||||
can_hold_knife = 1
|
||||
|
||||
/obj/item/clothing/shoes/tactical
|
||||
name = "tactical boots"
|
||||
@@ -133,6 +78,7 @@
|
||||
force = 3
|
||||
armor = list(melee = 40, bullet = 30, laser = 40,energy = 25, bomb = 50, bio = 0, rad = 0)
|
||||
siemens_coefficient = 0.7
|
||||
can_hold_knife = 1
|
||||
|
||||
/obj/item/clothing/shoes/dress
|
||||
name = "dress shoes"
|
||||
|
||||
@@ -13,48 +13,48 @@
|
||||
allowed = list(/obj/item/weapon/tank/emergency_oxygen,/obj/item/device/flashlight,/obj/item/weapon/pen,/obj/item/clothing/head/soft,/obj/item/clothing/head/beret,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/flame/lighter,/obj/item/device/taperecorder,/obj/item/device/analyzer,/obj/item/device/radio,/obj/item/taperoll)
|
||||
|
||||
/obj/item/clothing/suit/storage/service/expeditionary
|
||||
name = "expeditionary jacket"
|
||||
desc = "A uniform service jacket belonging to the SCG Expeditionary Corps. It has silver buttons."
|
||||
name = "\improper SifGuard jacket"
|
||||
desc = "A uniform service jacket belonging to the Sif Homeguard Corps. It has silver buttons."
|
||||
icon_state = "blackservice_crew"
|
||||
|
||||
/obj/item/clothing/suit/storage/service/expeditionary/medical
|
||||
name = "expeditionary medical jacket"
|
||||
desc = "A uniform service jacket belonging to the SCG Expeditionary Corps. It has silver buttons and blue trim."
|
||||
name = "\improper SifGuard medical jacket"
|
||||
desc = "A uniform service jacket belonging to the Sif Homeguard Corps. It has silver buttons and blue trim."
|
||||
icon_state = "blackservice_med"
|
||||
|
||||
/obj/item/clothing/suit/storage/service/expeditionary/medical/command
|
||||
name = "expeditionary medical command jacket"
|
||||
desc = "A uniform service jacket belonging to the SCG Expeditionary Corps. It has gold buttons and blue trim."
|
||||
name = "\improper SifGuard medical command jacket"
|
||||
desc = "A uniform service jacket belonging to the Sif Homeguard Corps. It has gold buttons and blue trim."
|
||||
icon_state = "blackservice_medcom"
|
||||
|
||||
/obj/item/clothing/suit/storage/service/expeditionary/engineering
|
||||
name = "expeditionary engineering jacket"
|
||||
desc = "A uniform service jacket belonging to the SCG Expeditionary Corps. It has silver buttons and orange trim."
|
||||
name = "\improper SifGuard engineering jacket"
|
||||
desc = "A uniform service jacket belonging to the Sif Homeguard Corps. It has silver buttons and orange trim."
|
||||
icon_state = "blackservice_eng"
|
||||
|
||||
/obj/item/clothing/suit/storage/service/expeditionary/engineering/command
|
||||
name = "expeditionary engineering command jacket"
|
||||
desc = "A uniform service jacket belonging to the SCG Expeditionary Corps. It has gold buttons and orange trim."
|
||||
name = "\improper SifGuard engineering command jacket"
|
||||
desc = "A uniform service jacket belonging to the Sif Homeguard Corps. It has gold buttons and orange trim."
|
||||
icon_state = "blackservice_engcom"
|
||||
|
||||
/obj/item/clothing/suit/storage/service/expeditionary/supply
|
||||
name = "expeditionary supply jacket"
|
||||
desc = "A uniform service jacket belonging to the SCG Expeditionary Corps. It has silver buttons and brown trim."
|
||||
name = "\improper SifGuard supply jacket"
|
||||
desc = "A uniform service jacket belonging to the Sif Homeguard Corps. It has silver buttons and brown trim."
|
||||
icon_state = "blackservice_sup"
|
||||
|
||||
/obj/item/clothing/suit/storage/service/expeditionary/security
|
||||
name = "expeditionary security jacket"
|
||||
desc = "A uniform service jacket belonging to the SCG Expeditionary Corps. It has silver buttons and red trim."
|
||||
name = "\improper SifGuard security jacket"
|
||||
desc = "A uniform service jacket belonging to the Sif Homeguard Corps. It has silver buttons and red trim."
|
||||
icon_state = "blackservice_sec"
|
||||
|
||||
/obj/item/clothing/suit/storage/service/expeditionary/security/command
|
||||
name = "expeditionary security command jacket"
|
||||
desc = "A uniform service jacket belonging to the SCG Expeditionary Corps. It has gold buttons and red trim."
|
||||
name = "\improper SifGuard security command jacket"
|
||||
desc = "A uniform service jacket belonging to the Sif Homeguard Corps. It has gold buttons and red trim."
|
||||
icon_state = "blackservice_seccom"
|
||||
|
||||
/obj/item/clothing/suit/storage/service/expeditionary/command
|
||||
name = "expeditionary command jacket"
|
||||
desc = "A uniform service jacket belonging to the SCG Expeditionary Corps. It has gold buttons and gold trim."
|
||||
name = "\improper SifGuard command jacket"
|
||||
desc = "A uniform service jacket belonging to the Sif Homeguard Corps. It has gold buttons and gold trim."
|
||||
icon_state = "blackservice_com"
|
||||
|
||||
/obj/item/clothing/suit/storage/service/marine
|
||||
|
||||
@@ -11,8 +11,8 @@
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO
|
||||
|
||||
/obj/item/clothing/under/pt/expeditionary
|
||||
name = "expeditionary pt uniform"
|
||||
desc = "A baggy shirt bearing the seal of the SCG Expeditionary Corps and some dorky looking blue shorts."
|
||||
name = "\improper SifGuard pt uniform"
|
||||
desc = "A baggy shirt bearing the seal of the Sif Homeguard Corps and some dorky looking blue shorts."
|
||||
icon_state = "expeditionpt"
|
||||
worn_state = "expeditionpt"
|
||||
|
||||
@@ -40,57 +40,57 @@
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
/obj/item/clothing/under/utility/expeditionary
|
||||
name = "expeditionary uniform"
|
||||
desc = "The utility uniform of the SCG Expeditionary Corps, made from biohazard resistant material. This one has silver trim."
|
||||
name = "\improper SifGuard uniform"
|
||||
desc = "The utility uniform of the Sif Homeguard Corps, made from biohazard resistant material. This one has silver trim."
|
||||
icon_state = "blackutility_crew"
|
||||
worn_state = "blackutility_crew"
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 10)
|
||||
|
||||
/obj/item/clothing/under/utility/expeditionary/medical
|
||||
name = "expeditionary medical uniform"
|
||||
desc = "The utility uniform of the SCG Expeditionary Corps, made from biohazard resistant material. This one has silver trim and blue blazes."
|
||||
name = "\improper SifGuard medical uniform"
|
||||
desc = "The utility uniform of the Sif Homeguard Corps, made from biohazard resistant material. This one has silver trim and blue blazes."
|
||||
icon_state = "blackutility_med"
|
||||
worn_state = "blackutility_med"
|
||||
|
||||
/obj/item/clothing/under/utility/expeditionary/medical/command
|
||||
name = "expeditionary medical command uniform"
|
||||
desc = "The utility uniform of the SCG Expeditionary Corps, made from biohazard resistant material. This one has gold trim and blue blazes."
|
||||
name = "\improper SifGuard medical command uniform"
|
||||
desc = "The utility uniform of the Sif Homeguard Corps, made from biohazard resistant material. This one has gold trim and blue blazes."
|
||||
icon_state = "blackutility_medcom"
|
||||
worn_state = "blackutility_medcom"
|
||||
|
||||
/obj/item/clothing/under/utility/expeditionary/engineering
|
||||
name = "expeditionary engineering uniform"
|
||||
desc = "The utility uniform of the SCG Expeditionary Corps, made from biohazard resistant material. This one has silver trim and organge blazes."
|
||||
name = "\improper SifGuard engineering uniform"
|
||||
desc = "The utility uniform of the Sif Homeguard Corps, made from biohazard resistant material. This one has silver trim and organge blazes."
|
||||
icon_state = "blackutility_eng"
|
||||
worn_state = "blackutility_eng"
|
||||
|
||||
/obj/item/clothing/under/utility/expeditionary/engineering/command
|
||||
name = "expeditionary engineering command uniform"
|
||||
desc = "The utility uniform of the SCG Expeditionary Corps, made from biohazard resistant material. This one has gold trim and organge blazes."
|
||||
name = "\improper SifGuard engineering command uniform"
|
||||
desc = "The utility uniform of the Sif Homeguard Corps, made from biohazard resistant material. This one has gold trim and organge blazes."
|
||||
icon_state = "blackutility_engcom"
|
||||
worn_state = "blackutility_engcom"
|
||||
|
||||
/obj/item/clothing/under/utility/expeditionary/supply
|
||||
name = "expeditionary supply uniform"
|
||||
desc = "The utility uniform of the SCG Expeditionary Corps, made from biohazard resistant material. This one has silver trim and brown blazes."
|
||||
name = "\improper SifGuard supply uniform"
|
||||
desc = "The utility uniform of the Sif Homeguard Corps, made from biohazard resistant material. This one has silver trim and brown blazes."
|
||||
icon_state = "blackutility_sup"
|
||||
worn_state = "blackutility_sup"
|
||||
|
||||
/obj/item/clothing/under/utility/expeditionary/security
|
||||
name = "expeditionary security uniform"
|
||||
desc = "The utility uniform of the SCG Expeditionary Corps, made from biohazard resistant material. This one has silver trim and red blazes."
|
||||
name = "\improper SifGuard security uniform"
|
||||
desc = "The utility uniform of the Sif Homeguard Corps, made from biohazard resistant material. This one has silver trim and red blazes."
|
||||
icon_state = "blackutility_sec"
|
||||
worn_state = "blackutility_sec"
|
||||
|
||||
/obj/item/clothing/under/utility/expeditionary/security/command
|
||||
name = "expeditionary security command uniform"
|
||||
desc = "The utility uniform of the SCG Expeditionary Corps, made from biohazard resistant material. This one has gold trim and red blazes."
|
||||
name = "\improper SifGuard security command uniform"
|
||||
desc = "The utility uniform of the Sif Homeguard Corps, made from biohazard resistant material. This one has gold trim and red blazes."
|
||||
icon_state = "blackutility_seccom"
|
||||
worn_state = "blackutility_seccom"
|
||||
|
||||
/obj/item/clothing/under/utility/expeditionary/command
|
||||
name = "expeditionary command uniform"
|
||||
desc = "The utility uniform of the SCG Expeditionary Corps, made from biohazard resistant material. This one has gold trim and gold blazes."
|
||||
name = "\improper SifGuard command uniform"
|
||||
desc = "The utility uniform of the Sif Homeguard Corps, made from biohazard resistant material. This one has gold trim and gold blazes."
|
||||
icon_state = "blackutility_com"
|
||||
worn_state = "blackutility_com"
|
||||
|
||||
@@ -221,14 +221,14 @@
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
/obj/item/clothing/under/dress/expeditionary
|
||||
name = "expeditionary dress uniform"
|
||||
desc = "The dress uniform of the SCG Expeditionary Corps in silver trim."
|
||||
name = "\improper SifGuard dress uniform"
|
||||
desc = "The dress uniform of the Sif Homeguard Corps in silver trim."
|
||||
icon_state = "greydress"
|
||||
worn_state = "greydress"
|
||||
|
||||
/obj/item/clothing/under/dress/expeditionary/command
|
||||
name = "expeditionary command dress uniform"
|
||||
desc = "The dress uniform of the SCG Expeditionary Corps in gold trim."
|
||||
name = "\improper SifGuard command dress uniform"
|
||||
desc = "The dress uniform of the Sif Homeguard Corps in gold trim."
|
||||
icon_state = "greydress_com"
|
||||
worn_state = "greydress_com"
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
spawn_locations.Add(C.loc)
|
||||
spawn_locations = shuffle(spawn_locations)
|
||||
num_groups = min(num_groups, spawn_locations.len)
|
||||
|
||||
|
||||
var/i = 1
|
||||
while (i <= num_groups)
|
||||
var/group_size = rand(group_size_min, group_size_max)
|
||||
@@ -45,4 +45,5 @@
|
||||
if(!C.stat)
|
||||
var/turf/T = get_turf(C)
|
||||
if(istype(T, /turf/space))
|
||||
qdel(C)
|
||||
if(!prob(25))
|
||||
qdel(C)
|
||||
@@ -136,6 +136,7 @@ var/global/list/severity_to_string = list(EVENT_LEVEL_MUNDANE = "Mundane", EVENT
|
||||
new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Money Lotto", /datum/event/money_lotto, 0, list(ASSIGNMENT_ANY = 1), 1, 5, 15),
|
||||
new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Mundane News", /datum/event/mundane_news, 300),
|
||||
new /datum/event_meta(EVENT_LEVEL_MUNDANE, "PDA Spam", /datum/event/pda_spam, 0, list(ASSIGNMENT_ANY = 4), 0, 25, 50),
|
||||
new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Shipping Error", /datum/event/shipping_error , 30, list(ASSIGNMENT_ANY = 2), 0),
|
||||
new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Space Dust", /datum/event/dust , 60, list(ASSIGNMENT_ENGINEER = 20), 0, 0, 50),
|
||||
new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Trivial News", /datum/event/trivial_news, 400),
|
||||
new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Vermin Infestation",/datum/event/infestation, 100, list(ASSIGNMENT_JANITOR = 100)),
|
||||
|
||||
6
code/modules/events/shipping_error.dm
Normal file
6
code/modules/events/shipping_error.dm
Normal file
@@ -0,0 +1,6 @@
|
||||
/datum/event/shipping_error/start()
|
||||
var/datum/supply_order/O = new /datum/supply_order()
|
||||
O.ordernum = supply_controller.ordernum
|
||||
O.object = supply_controller.supply_packs[pick(supply_controller.supply_packs)]
|
||||
O.orderedby = random_name(pick(MALE,FEMALE), species = "Human")
|
||||
supply_controller.shoppinglist += O
|
||||
@@ -321,6 +321,9 @@
|
||||
data_received.write_data_to_pin(message)
|
||||
text_received.write_data_to_pin(text)
|
||||
|
||||
for(var/datum/integrated_io/output/O in outputs)
|
||||
O.push_data()
|
||||
|
||||
//This circuit gives information on where the machine is.
|
||||
/obj/item/integrated_circuit/input/gps
|
||||
name = "global positioning system"
|
||||
@@ -379,6 +382,9 @@
|
||||
O.data = msg
|
||||
A.push_data()
|
||||
|
||||
for(var/datum/integrated_io/output/out in outputs)
|
||||
out.push_data()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -22,12 +22,13 @@
|
||||
|
||||
// Should this all be in Touch()?
|
||||
if(istype(H))
|
||||
var/hit_zone = get_zone_with_miss_chance(H.zone_sel.selecting, src, get_accuracy_penalty(H))
|
||||
if(!hit_zone)
|
||||
H.do_attack_animation(src)
|
||||
playsound(loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1)
|
||||
visible_message("\red <B>[H] attempts to punch [src], but misses!</B>")
|
||||
return 0
|
||||
if(get_accuracy_penalty(H)) //Should only trigger if they're not aiming well
|
||||
var/hit_zone = get_zone_with_miss_chance(H.zone_sel.selecting, src, get_accuracy_penalty(H))
|
||||
if(!hit_zone)
|
||||
H.do_attack_animation(src)
|
||||
playsound(loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1)
|
||||
visible_message("\red <B>[H] reaches for [src], but misses!</B>")
|
||||
return 0
|
||||
|
||||
if(H != src && check_shields(0, null, H, H.zone_sel.selecting, H.name))
|
||||
H.do_attack_animation(src)
|
||||
|
||||
@@ -94,6 +94,7 @@
|
||||
slowdown = -0.5
|
||||
brute_mod = 1.15
|
||||
burn_mod = 1.15
|
||||
metabolic_rate = 1.1
|
||||
gluttonous = 1
|
||||
num_alternate_languages = 3
|
||||
secondary_langs = list("Siik")
|
||||
|
||||
@@ -82,11 +82,12 @@
|
||||
. = ..()
|
||||
if(ishuman(.))
|
||||
var/mob/living/carbon/human/H = .
|
||||
if(prob(poison_chance))
|
||||
if(prob(5))
|
||||
var/obj/item/organ/external/O = pick(H.organs)
|
||||
if(!(O.robotic >= ORGAN_ROBOT))
|
||||
var/eggs = PoolOrNew(/obj/effect/spider/eggcluster/, list(O, src))
|
||||
O.implants += eggs
|
||||
H << "<span class='warning'>The [src] injects something into your [O.name]!</span>"
|
||||
|
||||
/mob/living/simple_animal/hostile/giant_spider/Life()
|
||||
..()
|
||||
|
||||
@@ -60,6 +60,11 @@
|
||||
else
|
||||
output += "<p><a href='byond://?src=\ref[src];showpoll=1'>Show Player Polls</A></p>"
|
||||
|
||||
if(client.check_for_new_server_news())
|
||||
output += "<p><b><a href='byond://?src=\ref[src];shownews=1'>Show News</A> (NEW!)</b></p>"
|
||||
else
|
||||
output += "<p><a href='byond://?src=\ref[src];shownews=1'>Show News</A></p>"
|
||||
|
||||
output += "</div>"
|
||||
|
||||
panel = new(src, "Welcome","Welcome", 210, 280, src)
|
||||
@@ -277,6 +282,28 @@
|
||||
if(!isnull(href_list["option_[optionid]"])) //Test if this optionid was selected
|
||||
vote_on_poll(pollid, optionid, 1)
|
||||
|
||||
if(href_list["shownews"])
|
||||
handle_server_news()
|
||||
return
|
||||
|
||||
/mob/new_player/proc/handle_server_news()
|
||||
if(!client)
|
||||
return
|
||||
var/savefile/F = get_server_news()
|
||||
if(F)
|
||||
client.last_news_hash = md5(F["body"])
|
||||
|
||||
var/dat = "<html><body><center>"
|
||||
dat += "<h1>[F["title"]]</h1>"
|
||||
dat += "<br>"
|
||||
dat += "[F["body"]]"
|
||||
dat += "<br>"
|
||||
dat += "<font size='2'><i>Last written by [F["author"]], on [F["timestamp"]].</i></font>"
|
||||
dat += "</center></body></html>"
|
||||
var/datum/browser/popup = new(src, "Server News", "Server News", 450, 300, src)
|
||||
popup.set_content(dat)
|
||||
popup.open()
|
||||
|
||||
/mob/new_player/proc/IsJobAvailable(rank)
|
||||
var/datum/job/job = job_master.GetJob(rank)
|
||||
if(!job) return 0
|
||||
|
||||
@@ -61,51 +61,6 @@
|
||||
name = "Short Hair 2"
|
||||
icon_state = "hair_shorthair3"
|
||||
|
||||
teshari
|
||||
name = "Teshari Default"
|
||||
icon_state = "seromi_default"
|
||||
species_allowed = list("Teshari")
|
||||
|
||||
teshari_altdefault
|
||||
name = "Teshari Alt. Default"
|
||||
icon_state = "seromi_ears"
|
||||
species_allowed = list("Teshari")
|
||||
|
||||
teshari_tight
|
||||
name = "Teshari Tight"
|
||||
icon_state = "seromi_tight"
|
||||
species_allowed = list("Teshari")
|
||||
|
||||
teshari_excited
|
||||
name = "Teshari Spiky"
|
||||
icon_state = "seromi_spiky"
|
||||
species_allowed = list("Teshari")
|
||||
|
||||
teshari_spike
|
||||
name = "Teshari Spike"
|
||||
icon_state = "seromi_spike"
|
||||
species_allowed = list("Teshari")
|
||||
|
||||
teshari_long
|
||||
name = "Teshari Overgrown"
|
||||
icon_state = "seromi_long"
|
||||
species_allowed = list("Teshari")
|
||||
|
||||
teshari_burst
|
||||
name = "Teshari Starburst"
|
||||
icon_state = "seromi_burst"
|
||||
species_allowed = list("Teshari")
|
||||
|
||||
teshari_shortburst
|
||||
name = "Teshari Short Starburst"
|
||||
icon_state = "seromi_burst_short"
|
||||
species_allowed = list("Teshari")
|
||||
|
||||
teshari_mohawk
|
||||
name = "Teshari Mohawk"
|
||||
icon_state = "seromi_mohawk"
|
||||
species_allowed = list("Teshari")
|
||||
|
||||
cut
|
||||
name = "Cut Hair"
|
||||
icon_state = "hair_c"
|
||||
@@ -328,6 +283,10 @@
|
||||
name = "Emo"
|
||||
icon_state = "hair_emo"
|
||||
|
||||
emo2
|
||||
name = "Emo Alt"
|
||||
icon_state = "hair_emo2"
|
||||
|
||||
longemo
|
||||
name = "Long Emo"
|
||||
icon_state = "hair_emolong"
|
||||
@@ -522,6 +481,60 @@
|
||||
name = "Oxton"
|
||||
icon_state = "hair_oxton"
|
||||
|
||||
lowfade
|
||||
name = "Low Fade"
|
||||
icon_state = "hair_lowfade"
|
||||
gender = MALE
|
||||
|
||||
medfade
|
||||
name = "Medium Fade"
|
||||
icon_state = "hair_medfade"
|
||||
|
||||
highfade
|
||||
name = "High Fade"
|
||||
icon_state = "hair_highfade"
|
||||
gender = MALE
|
||||
|
||||
baldfade
|
||||
name = "Balding Fade"
|
||||
icon_state = "hair_baldfade"
|
||||
gender = MALE
|
||||
|
||||
nofade
|
||||
name = "Regulation Cut"
|
||||
icon_state = "hair_nofade"
|
||||
gender = MALE
|
||||
|
||||
trimflat
|
||||
name = "Trimmed Flat Top"
|
||||
icon_state = "hair_trimflat"
|
||||
gender = MALE
|
||||
|
||||
trimmed
|
||||
name = "Trimmed"
|
||||
icon_state = "hair_trimmed"
|
||||
gender = MALE
|
||||
|
||||
tightbun
|
||||
name = "Tight Bun"
|
||||
icon_state = "hair_tightbun"
|
||||
gender = FEMALE
|
||||
|
||||
coffeehouse
|
||||
name = "Coffee House Cut"
|
||||
icon_state = "hair_coffeehouse"
|
||||
gender = MALE
|
||||
|
||||
undercut
|
||||
name = "Undercut"
|
||||
icon_state = "hair_undercut"
|
||||
gender = MALE
|
||||
|
||||
partfade
|
||||
name = "Parted Fade"
|
||||
icon_state = "hair_shavedpart"
|
||||
gender = MALE
|
||||
|
||||
|
||||
/*
|
||||
///////////////////////////////////
|
||||
@@ -542,24 +555,6 @@
|
||||
gender = NEUTER
|
||||
species_allowed = list("Human","Unathi","Tajara","Skrell", "Machine","Teshari")
|
||||
|
||||
teshari_beard
|
||||
name = "Teshari Beard"
|
||||
icon_state = "seromi_chin"
|
||||
species_allowed = list("Teshari")
|
||||
gender = NEUTER
|
||||
|
||||
teshari_scraggly
|
||||
name = "Teshari Scraggly"
|
||||
icon_state = "seromi_scraggly"
|
||||
species_allowed = list("Teshari")
|
||||
gender = NEUTER
|
||||
|
||||
teshari_chops
|
||||
name = "Teshari Chops"
|
||||
icon_state = "seromi_gap"
|
||||
species_allowed = list("Teshari")
|
||||
gender = NEUTER
|
||||
|
||||
watson
|
||||
name = "Watson Mustache"
|
||||
icon_state = "facial_watson"
|
||||
@@ -629,31 +624,41 @@
|
||||
name = "Dwarf Beard"
|
||||
icon_state = "facial_dwarf"
|
||||
|
||||
shadow
|
||||
name = "Five O'Clock Shadow"
|
||||
icon_state = "facial_shadow"
|
||||
threeOclock
|
||||
name = "3 O'clock Shadow"
|
||||
icon_state = "facial_3oclock"
|
||||
|
||||
//unathi horn beards and the like
|
||||
threeOclockstache
|
||||
name = "3 O'clock Shadow and Moustache"
|
||||
icon_state = "facial_3oclockmoustache"
|
||||
|
||||
una_chinhorn
|
||||
name = "Unathi Chin Horn"
|
||||
icon_state = "facial_chinhorns"
|
||||
species_allowed = list("Unathi")
|
||||
fiveOclock
|
||||
name = "5 O'clock Shadow"
|
||||
icon_state = "facial_5oclock"
|
||||
|
||||
una_hornadorns
|
||||
name = "Unathi Horn Adorns"
|
||||
icon_state = "facial_hornadorns"
|
||||
species_allowed = list("Unathi")
|
||||
fiveOclockstache
|
||||
name = "5 O'clock Shadow and Moustache"
|
||||
icon_state = "facial_5oclockmoustache"
|
||||
|
||||
una_spinespikes
|
||||
name = "Unathi Spine Spikes"
|
||||
icon_state = "facial_spikes"
|
||||
species_allowed = list("Unathi")
|
||||
sevenOclock
|
||||
name = "7 O'clock Shadow"
|
||||
icon_state = "facial_7oclock"
|
||||
|
||||
una_dorsalfrill
|
||||
name = "Unathi Dorsal Frill"
|
||||
icon_state = "facial_dorsalfrill"
|
||||
species_allowed = list("Unathi")
|
||||
sevenOclockstache
|
||||
name = "7 O'clock Shadow and Moustache"
|
||||
icon_state = "facial_7oclockmoustache"
|
||||
|
||||
mutton
|
||||
name = "Mutton Chops"
|
||||
icon_state = "facial_mutton"
|
||||
|
||||
muttonstache
|
||||
name = "Mutton Chops and Moustache"
|
||||
icon_state = "facial_muttonmus"
|
||||
|
||||
walrus
|
||||
name = "Walrus Moustache"
|
||||
icon_state = "facial_walrus"
|
||||
|
||||
/*
|
||||
///////////////////////////////////
|
||||
@@ -709,6 +714,7 @@
|
||||
icon_state = "unathi_sidefrills"
|
||||
species_allowed = list("Unathi")
|
||||
|
||||
//Skrell 'hairstyles'
|
||||
skr_tentacle_m
|
||||
name = "Skrell Male Tentacles"
|
||||
icon_state = "skrell_hair_m"
|
||||
@@ -721,6 +727,7 @@
|
||||
species_allowed = list("Skrell")
|
||||
gender = FEMALE
|
||||
|
||||
//Tajaran hairstyles
|
||||
taj_ears
|
||||
name = "Tajaran Ears"
|
||||
icon_state = "ears_plain"
|
||||
@@ -806,6 +813,77 @@
|
||||
icon_state = "hair_fingerwave"
|
||||
species_allowed = list("Tajara")
|
||||
|
||||
//Teshari things
|
||||
teshari
|
||||
name = "Teshari Default"
|
||||
icon_state = "teshari_default"
|
||||
species_allowed = list("Teshari")
|
||||
|
||||
teshari_altdefault
|
||||
name = "Teshari Alt. Default"
|
||||
icon_state = "teshari_ears"
|
||||
species_allowed = list("Teshari")
|
||||
|
||||
teshari_tight
|
||||
name = "Teshari Tight"
|
||||
icon_state = "teshari_tight"
|
||||
species_allowed = list("Teshari")
|
||||
|
||||
teshari_excited
|
||||
name = "Teshari Spiky"
|
||||
icon_state = "teshari_spiky"
|
||||
species_allowed = list("Teshari")
|
||||
|
||||
teshari_spike
|
||||
name = "Teshari Spike"
|
||||
icon_state = "teshari_spike"
|
||||
species_allowed = list("Teshari")
|
||||
|
||||
teshari_long
|
||||
name = "Teshari Overgrown"
|
||||
icon_state = "teshari_long"
|
||||
species_allowed = list("Teshari")
|
||||
|
||||
teshari_burst
|
||||
name = "Teshari Starburst"
|
||||
icon_state = "teshari_burst"
|
||||
species_allowed = list("Teshari")
|
||||
|
||||
teshari_shortburst
|
||||
name = "Teshari Short Starburst"
|
||||
icon_state = "teshari_burst_short"
|
||||
species_allowed = list("Teshari")
|
||||
|
||||
teshari_mohawk
|
||||
name = "Teshari Mohawk"
|
||||
icon_state = "teshari_mohawk"
|
||||
species_allowed = list("Teshari")
|
||||
|
||||
teshari_pointy
|
||||
name = "Teshari Pointy"
|
||||
icon_state = "teshari_pointy"
|
||||
species_allowed = list("Teshari")
|
||||
|
||||
teshari_upright
|
||||
name = "Teshari Upright"
|
||||
icon_state = "teshari_upright"
|
||||
species_allowed = list("Teshari")
|
||||
|
||||
teshari_mane
|
||||
name = "Teshari Mane"
|
||||
icon_state = "teshari_mane"
|
||||
species_allowed = list("Teshari")
|
||||
|
||||
teshari_droopy
|
||||
name = "Teshari Droopy"
|
||||
icon_state = "teshari_droopy"
|
||||
species_allowed = list("Teshari")
|
||||
|
||||
teshari_mushroom
|
||||
name = "Teshari Mushroom"
|
||||
icon_state = "teshari_mushroom"
|
||||
species_allowed = list("Teshari")
|
||||
|
||||
/datum/sprite_accessory/facial_hair
|
||||
|
||||
taj_sideburns
|
||||
@@ -838,6 +916,48 @@
|
||||
icon_state = "facial_smallstache"
|
||||
species_allowed = list("Tajara")
|
||||
|
||||
//unathi horn beards and the like
|
||||
|
||||
una_chinhorn
|
||||
name = "Unathi Chin Horn"
|
||||
icon_state = "facial_chinhorns"
|
||||
species_allowed = list("Unathi")
|
||||
|
||||
una_hornadorns
|
||||
name = "Unathi Horn Adorns"
|
||||
icon_state = "facial_hornadorns"
|
||||
species_allowed = list("Unathi")
|
||||
|
||||
una_spinespikes
|
||||
name = "Unathi Spine Spikes"
|
||||
icon_state = "facial_spikes"
|
||||
species_allowed = list("Unathi")
|
||||
|
||||
una_dorsalfrill
|
||||
name = "Unathi Dorsal Frill"
|
||||
icon_state = "facial_dorsalfrill"
|
||||
species_allowed = list("Unathi")
|
||||
|
||||
|
||||
//Teshari things
|
||||
teshari_beard
|
||||
name = "Teshari Beard"
|
||||
icon_state = "teshari_chin"
|
||||
species_allowed = list("Teshari")
|
||||
gender = NEUTER
|
||||
|
||||
teshari_scraggly
|
||||
name = "Teshari Scraggly"
|
||||
icon_state = "teshari_scraggly"
|
||||
species_allowed = list("Teshari")
|
||||
gender = NEUTER
|
||||
|
||||
teshari_chops
|
||||
name = "Teshari Chops"
|
||||
icon_state = "teshari_gap"
|
||||
species_allowed = list("Teshari")
|
||||
gender = NEUTER
|
||||
|
||||
//skin styles - WIP
|
||||
//going to have to re-integrate this with surgery
|
||||
//let the icon_state hold an icon preview for now
|
||||
|
||||
@@ -323,13 +323,13 @@
|
||||
// This does not handle transferring reagents to things.
|
||||
// For example, splashing someone with water will get them wet and extinguish them if they are on fire,
|
||||
// even if they are wearing an impermeable suit that prevents the reagents from contacting the skin.
|
||||
/datum/reagents/proc/touch(var/atom/target)
|
||||
/datum/reagents/proc/touch(var/atom/target, var/amount)
|
||||
if(ismob(target))
|
||||
touch_mob(target)
|
||||
touch_mob(target, amount)
|
||||
if(isturf(target))
|
||||
touch_turf(target)
|
||||
touch_turf(target, amount)
|
||||
if(isobj(target))
|
||||
touch_obj(target)
|
||||
touch_obj(target, amount)
|
||||
return
|
||||
|
||||
/datum/reagents/proc/touch_mob(var/mob/target)
|
||||
@@ -341,21 +341,21 @@
|
||||
|
||||
update_total()
|
||||
|
||||
/datum/reagents/proc/touch_turf(var/turf/target)
|
||||
/datum/reagents/proc/touch_turf(var/turf/target, var/amount)
|
||||
if(!target || !istype(target))
|
||||
return
|
||||
|
||||
for(var/datum/reagent/current in reagent_list)
|
||||
current.touch_turf(target, current.volume)
|
||||
current.touch_turf(target, amount)
|
||||
|
||||
update_total()
|
||||
|
||||
/datum/reagents/proc/touch_obj(var/obj/target)
|
||||
/datum/reagents/proc/touch_obj(var/obj/target, var/amount)
|
||||
if(!target || !istype(target))
|
||||
return
|
||||
|
||||
for(var/datum/reagent/current in reagent_list)
|
||||
current.touch_obj(target, current.volume)
|
||||
current.touch_obj(target, amount)
|
||||
|
||||
update_total()
|
||||
|
||||
@@ -402,7 +402,7 @@
|
||||
|
||||
var/datum/reagents/R = new /datum/reagents(amount * multiplier)
|
||||
. = trans_to_holder(R, amount, multiplier, copy)
|
||||
R.touch_turf(target)
|
||||
R.touch_turf(target, amount)
|
||||
return
|
||||
|
||||
/datum/reagents/proc/trans_to_obj(var/obj/target, var/amount = 1, var/multiplier = 1, var/copy = 0) // Objects may or may not; if they do, it's probably a beaker or something and we need to transfer properly; otherwise, just touch.
|
||||
@@ -412,7 +412,7 @@
|
||||
if(!target.reagents)
|
||||
var/datum/reagents/R = new /datum/reagents(amount * multiplier)
|
||||
. = trans_to_holder(R, amount, multiplier, copy)
|
||||
R.touch_obj(target)
|
||||
R.touch_obj(target, amount)
|
||||
return
|
||||
|
||||
return trans_to_holder(target.reagents, amount, multiplier, copy)
|
||||
|
||||
@@ -156,9 +156,9 @@
|
||||
glass_name = "welder fuel"
|
||||
glass_desc = "Unless you are an industrial tool, this is probably not safe for consumption."
|
||||
|
||||
/datum/reagent/fuel/touch_turf(var/turf/T)
|
||||
new /obj/effect/decal/cleanable/liquid_fuel(T, volume)
|
||||
remove_self(volume)
|
||||
/datum/reagent/fuel/touch_turf(var/turf/T, var/amount)
|
||||
new /obj/effect/decal/cleanable/liquid_fuel(T, amount)
|
||||
remove_self(amount)
|
||||
return
|
||||
|
||||
/datum/reagent/fuel/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
|
||||
@@ -87,6 +87,8 @@
|
||||
var/strength_mod = 1
|
||||
if(alien == IS_SKRELL)
|
||||
strength_mod *= 5
|
||||
if(alien == IS_TAJARA)
|
||||
strength_mod *= 1.75
|
||||
if(alien == IS_DIONA)
|
||||
strength_mod = 0
|
||||
|
||||
|
||||
@@ -651,16 +651,25 @@
|
||||
if(alien == IS_DIONA)
|
||||
return
|
||||
..()
|
||||
|
||||
if(alien == IS_TAJARA)
|
||||
M.adjustToxLoss(0.5 * removed)
|
||||
M.make_jittery(4) //extra sensitive to caffine
|
||||
if(adj_temp > 0)
|
||||
holder.remove_reagent("frostoil", 10 * removed)
|
||||
|
||||
/datum/reagent/nutriment/coffee/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
..()
|
||||
if(alien == IS_TAJARA)
|
||||
M.adjustToxLoss(2 * removed)
|
||||
M.make_jittery(4)
|
||||
return
|
||||
|
||||
/datum/reagent/drink/coffee/overdose(var/mob/living/carbon/M, var/alien)
|
||||
if(alien == IS_DIONA)
|
||||
return
|
||||
if(alien == IS_TAJARA)
|
||||
M.adjustToxLoss(4 * REM)
|
||||
M.apply_effect(3, STUTTER)
|
||||
M.make_jittery(5)
|
||||
|
||||
/datum/reagent/drink/coffee/icecoffee
|
||||
@@ -1148,10 +1157,23 @@
|
||||
M.sleeping = max(0, M.sleeping - 2)
|
||||
if(M.bodytemperature > 310)
|
||||
M.bodytemperature = max(310, M.bodytemperature - (5 * TEMPERATURE_DAMAGE_COEFFICIENT))
|
||||
if(alien == IS_TAJARA)
|
||||
M.adjustToxLoss(0.5 * removed)
|
||||
M.make_jittery(4) //extra sensitive to caffine
|
||||
|
||||
/datum/reagent/ethanol/coffee/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
if(alien == IS_TAJARA)
|
||||
M.adjustToxLoss(2 * removed)
|
||||
M.make_jittery(4)
|
||||
return
|
||||
..()
|
||||
|
||||
/datum/reagent/ethanol/coffee/overdose(var/mob/living/carbon/M, var/alien)
|
||||
if(alien == IS_DIONA)
|
||||
return
|
||||
if(alien == IS_TAJARA)
|
||||
M.adjustToxLoss(4 * REM)
|
||||
M.apply_effect(3, STUTTER)
|
||||
M.make_jittery(5)
|
||||
|
||||
/datum/reagent/ethanol/coffee/kahlua
|
||||
|
||||
@@ -59,11 +59,11 @@
|
||||
if(prob(50))
|
||||
M.pl_effects()
|
||||
|
||||
/datum/reagent/toxin/phoron/touch_turf(var/turf/simulated/T)
|
||||
/datum/reagent/toxin/phoron/touch_turf(var/turf/simulated/T, var/amount)
|
||||
if(!istype(T))
|
||||
return
|
||||
T.assume_gas("volatile_fuel", volume, T20C)
|
||||
remove_self(volume)
|
||||
T.assume_gas("volatile_fuel", amount, T20C)
|
||||
remove_self(amount)
|
||||
|
||||
/datum/reagent/toxin/cyanide //Fast and Lethal
|
||||
name = "Cyanide"
|
||||
@@ -89,6 +89,8 @@
|
||||
strength = 2
|
||||
|
||||
/datum/reagent/toxin/hyperzine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
if(alien == IS_TAJARA)
|
||||
removed *= 1.25
|
||||
..()
|
||||
if(prob(5))
|
||||
M.emote(pick("twitch", "blink_r", "shiver"))
|
||||
@@ -104,6 +106,8 @@
|
||||
strength = 3
|
||||
|
||||
/datum/reagent/toxin/stimm/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
if(alien == IS_TAJARA)
|
||||
removed *= 1.25
|
||||
..()
|
||||
if(prob(15))
|
||||
M.emote(pick("twitch", "blink_r", "shiver"))
|
||||
@@ -212,17 +216,14 @@
|
||||
W.visible_message("<span class='notice'>The fungi are completely dissolved by the solution!</span>")
|
||||
|
||||
/datum/reagent/toxin/plantbgone/touch_obj(var/obj/O, var/volume)
|
||||
..()
|
||||
if(istype(O, /obj/effect/plant))
|
||||
qdel(O)
|
||||
|
||||
/datum/reagent/toxin/plantbgone/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
..()
|
||||
if(alien == IS_DIONA)
|
||||
M.adjustToxLoss(50 * removed)
|
||||
|
||||
/datum/reagent/toxin/plantbgone/affect_touch(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
..()
|
||||
if(alien == IS_DIONA)
|
||||
M.adjustToxLoss(50 * removed)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user