Merge branch 'master' into kevinz000-patch-2
@@ -201,4 +201,4 @@ tools/MapAtmosFixer/MapAtmosFixer/bin/*
|
||||
.atom-build.json
|
||||
|
||||
#Jukebox audio files
|
||||
/config/jukebox_music/**/*
|
||||
/config/jukebox_music/**/*
|
||||
|
||||
@@ -34,8 +34,8 @@
|
||||
|
||||
D.apply_damage(damage, STAMINA, affecting, armor_block)
|
||||
add_logs(A, D, "punched (boxing) ")
|
||||
if(D.getStaminaLoss() > 50)
|
||||
var/knockout_prob = D.getStaminaLoss() + rand(-15,15)
|
||||
if(D.getStaminaLoss() > 100)
|
||||
var/knockout_prob = (D.getStaminaLoss() + rand(-15,15))*0.75
|
||||
if((D.stat != DEAD) && prob(knockout_prob))
|
||||
D.visible_message("<span class='danger'>[A] has knocked [D] out with a haymaker!</span>", \
|
||||
"<span class='userdanger'>[A] has knocked [D] out with a haymaker!</span>")
|
||||
|
||||
@@ -126,7 +126,6 @@
|
||||
var/datum/supply_pack/P = SSshuttle.supply_packs[/datum/supply_pack/engineering/shuttle_engine]
|
||||
P.special_enabled = TRUE
|
||||
|
||||
|
||||
/datum/map_template/shuttle/emergency/asteroid
|
||||
suffix = "asteroid"
|
||||
name = "Asteroid Station Emergency Shuttle"
|
||||
@@ -229,7 +228,7 @@
|
||||
suffix = "scrapheap"
|
||||
name = "Standby Evacuation Vessel \"Scrapheap Challenge\""
|
||||
credit_cost = -1000
|
||||
description = "Due to a lack of functional emergency shuttles, we bought this second hand from a scrapyard and pressed it into service. Please do not lean to heavily on the exterior windows, they are fragile."
|
||||
description = "Due to a lack of functional emergency shuttles, we bought this second hand from a scrapyard and pressed it into service. Please do not lean to heavily on the exterior windows, they are fragile. <span class='danger'>VIRUS ALERT: This entry seems to be booby-trapped with a redirector trap. Buy this at your own risk.</span>"
|
||||
admin_notes = "An abomination with no functional medbay, sections missing, and some very fragile windows. Surprisingly airtight."
|
||||
|
||||
/datum/map_template/shuttle/emergency/narnar
|
||||
|
||||
@@ -729,6 +729,9 @@ GLOBAL_LIST_EMPTY(external_rsc_urls)
|
||||
if (clicklimiter[SECOND_COUNT] > scl)
|
||||
to_chat(src, "<span class='danger'>Your previous click was ignored because you've done too many in a second</span>")
|
||||
return
|
||||
|
||||
if(ab)
|
||||
return
|
||||
|
||||
if (prefs.hotkeys)
|
||||
// If hotkey mode is enabled, then clicking the map will automatically
|
||||
|
||||
@@ -224,7 +224,7 @@
|
||||
list_reagents = list("chloralhydrate" = 50)
|
||||
|
||||
/obj/item/reagent_containers/syringe/lethal/execution
|
||||
list_reagents = list("plasma" = 15, "formaldehyde" = 15, "cyanide" = 10, "facid" = 10)
|
||||
list_reagents = list("amatoxin" = 15, "formaldehyde" = 15, "cyanide" = 10, "facid" = 10)
|
||||
|
||||
/obj/item/reagent_containers/syringe/mulligan
|
||||
name = "Mulligan"
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Hatterhat"
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "The plasma formerly present in some execution syringes was replaced with amatoxin."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "deathride58"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "Added Raiq's boombox as a donor item"
|
||||
@@ -0,0 +1,5 @@
|
||||
author: "deathride58"
|
||||
delete-after: True
|
||||
changes:
|
||||
- balance: "The combat rework's training wheels have been removed. Knockdowns no longer have any noticeable stun. This indirectly means stunbatons and tasers will always deal their full stamloss on hit."
|
||||
- balance: "The stamloss required for boxing gloves to throw a knockout punch has been increased from 50 to 100."
|
||||
@@ -0,0 +1,6 @@
|
||||
author: "slate3"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "ported a new alternative sprite for engineering borgs, mr. handy"
|
||||
- rscadd: "ported a new alternative sprite for security borgs, a spider-like walker"
|
||||
- rscadd: "ported a new alternative sprite for medical borgs, an eyebot"
|
||||
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
@@ -3,7 +3,7 @@
|
||||
new_owner.resting = TRUE
|
||||
new_owner.adjustStaminaLoss(isnull(override_stam)? set_duration*0.25 : override_stam)
|
||||
if(isnull(override_duration) && (set_duration > 80))
|
||||
set_duration = set_duration*0.15
|
||||
set_duration = set_duration*0.01
|
||||
return ..()
|
||||
else if(!isnull(override_duration))
|
||||
set_duration = override_duration
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
/obj/item/boombox
|
||||
name = "boombox"
|
||||
desc = "A dusty, gray, bulky, battery-powered, auto-looping stereo cassette player. An ancient relic from prehistoric times on that one planet with humans and stuff. Yeah, that one."
|
||||
icon = 'modular_citadel/icons/obj/boombox.dmi'
|
||||
icon_state = "raiqbawks_off"//PLACEHOLDER UNTIL SOMEONE SPRITES PLAIN NON-FANCY BOOMBOXES
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
force = 3
|
||||
var/baseiconstate = "raiqbawks"
|
||||
var/boomingandboxing = FALSE
|
||||
var/list/availabletrackids
|
||||
|
||||
/obj/item/boombox/attack_self(mob/user)
|
||||
. = ..()
|
||||
if(boomingandboxing)
|
||||
SSjukeboxes.removejukebox(SSjukeboxes.findjukeboxindex(src))
|
||||
boomingandboxing = FALSE
|
||||
to_chat(user, "<span class='notice'>You flip a switch on [src], and the music immediately stops.")
|
||||
update_icon()
|
||||
return
|
||||
if(!availabletrackids || !availabletrackids.len)
|
||||
to_chat(user, "<span class='notice'>[src] flashes as you prod it senselessly. It doesn't have any songs stored on it.</span>")
|
||||
return
|
||||
if(!boomingandboxing)
|
||||
var/list/tracklist = list()
|
||||
for(var/datum/track/S in SSjukeboxes.songs)
|
||||
if(istype(S) && S.song_associated_id in availabletrackids)
|
||||
tracklist[S.song_name] = S
|
||||
var/selected = input(user, "Play song", "Track:") as null|anything in tracklist
|
||||
if(QDELETED(src) || !selected || !istype(tracklist[selected], /datum/track))
|
||||
return
|
||||
var/jukeboxslottotake = SSjukeboxes.addjukebox(src, tracklist[selected])
|
||||
if(jukeboxslottotake)
|
||||
boomingandboxing = TRUE
|
||||
update_icon()
|
||||
|
||||
/obj/item/boombox/Destroy(mob/user)
|
||||
SSjukeboxes.removejukebox(SSjukeboxes.findjukeboxindex(src))
|
||||
. = ..()
|
||||
|
||||
/obj/item/boombox/update_icon()
|
||||
icon_state = "[baseiconstate]_[boomingandboxing ? "on" : "off"]"
|
||||
return
|
||||
|
||||
/obj/item/boombox/raiq
|
||||
name = "Miami Boomer"
|
||||
desc = "A shiny, fashionable boombox filled to the brim with neon lights, synthesizers, gang violence, and broken R keys. A worn-out sticker on the back states \"Includes three kickin' beats!\""
|
||||
icon_state = "raiqbawks_off"
|
||||
baseiconstate = "raiqbawks"
|
||||
availabletrackids = list("hotline.ogg","chiptune.ogg","genesis.ogg")
|
||||
|
||||
/obj/item/boombox/raiq/update_icon()
|
||||
. = ..()
|
||||
if(boomingandboxing)
|
||||
START_PROCESSING(SSobj, src)
|
||||
else
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
set_light(0)
|
||||
|
||||
/obj/item/boombox/raiq/process()
|
||||
set_light(5,0.95,pick("#d87aff","#7a7aff","#89ecff","#b88eff","#ff59ad"))
|
||||
return
|
||||
@@ -313,3 +313,16 @@ datum/gear/darksabresheath
|
||||
category = SLOT_IN_BACKPACK
|
||||
path = /obj/item/clothing/shoes/lucky
|
||||
ckeywhitelist = list("donaldtrumpthecommunist")
|
||||
|
||||
/datum/gear/raiqbawks
|
||||
name = "Miami Boombox"
|
||||
category = SLOT_HANDS
|
||||
cost = 2
|
||||
path = /obj/item/boombox/raiq
|
||||
ckeywhitelist = list("chefferz")
|
||||
|
||||
/datum/gear/m41
|
||||
name = "Toy M41"
|
||||
category = SLOT_IN_BACKPACK
|
||||
path = /obj/item/toy/gun/m41
|
||||
ckeywhitelist = list("ThalVerscholen")
|
||||
|
||||
@@ -176,8 +176,8 @@
|
||||
desc = "Sometimes things are too much to hide."
|
||||
icon = 'icons/obj/custom.dmi'
|
||||
icon_override = 'icons/mob/custom_w.dmi'
|
||||
icon_state = "sexymime"
|
||||
item_state = "sexymime"
|
||||
icon_state = "hheart"
|
||||
item_state = "hheart"
|
||||
flags_inv = HIDEFACE|HIDEFACIALHAIR
|
||||
|
||||
/obj/item/clothing/suit/trenchcoat/green
|
||||
|
||||
@@ -179,7 +179,7 @@
|
||||
|
||||
/obj/item/robot_module/medical/be_transformed_to(obj/item/robot_module/old_module)
|
||||
var/mob/living/silicon/robot/R = loc
|
||||
var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Default", "Droid")
|
||||
var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Default", "Droid", "Eyebot")
|
||||
if(!borg_icon)
|
||||
return FALSE
|
||||
switch(borg_icon)
|
||||
@@ -189,11 +189,15 @@
|
||||
cyborg_base_icon = "medical"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
hat_offset = 4
|
||||
if("Eyebot")
|
||||
cyborg_base_icon = "eyebotmed"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
special_light_key = "eyebotmed"
|
||||
return ..()
|
||||
|
||||
/obj/item/robot_module/security/be_transformed_to(obj/item/robot_module/old_module)
|
||||
var/mob/living/silicon/robot/R = loc
|
||||
var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Default", "Default - Treads", "Droid")
|
||||
var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Default", "Default - Treads", "Droid", "Spider")
|
||||
if(!borg_icon)
|
||||
return FALSE
|
||||
switch(borg_icon)
|
||||
@@ -207,11 +211,15 @@
|
||||
cyborg_base_icon = "Security"
|
||||
special_light_key = "service"
|
||||
hat_offset = 0
|
||||
if("Spider")
|
||||
cyborg_base_icon = "spidersec"
|
||||
special_light_key = "spidersec"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
return ..()
|
||||
|
||||
/obj/item/robot_module/engineering/be_transformed_to(obj/item/robot_module/old_module)
|
||||
var/mob/living/silicon/robot/R = loc
|
||||
var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Default", "Default - Treads")
|
||||
var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Default", "Default - Treads","Handy")
|
||||
if(!borg_icon)
|
||||
return FALSE
|
||||
switch(borg_icon)
|
||||
@@ -225,6 +233,10 @@
|
||||
cyborg_base_icon = "loader"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
has_snowflake_deadsprite = TRUE
|
||||
if("Handy")
|
||||
cyborg_base_icon = "handyeng"
|
||||
special_light_key = "handyeng"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
return ..()
|
||||
|
||||
/obj/item/robot_module/miner/be_transformed_to(obj/item/robot_module/old_module)
|
||||
|
||||
@@ -57,4 +57,12 @@
|
||||
desc = "An authentic cap-firing reproduction of a F3 Justicar big-bore revolver! Pretend to blow your friend's brains out with this 100% safe toy! Satisfaction guaranteed!"
|
||||
icon_state = "justicar"
|
||||
icon = 'modular_citadel/icons/obj/guns/toys.dmi'
|
||||
materials = list(MAT_METAL=2000, MAT_GLASS=250)
|
||||
materials = list(MAT_METAL=2000, MAT_GLASS=250)
|
||||
|
||||
|
||||
/obj/item/toy/gun/m41
|
||||
name = "Toy M41A Pulse Rifle"
|
||||
desc = "A toy replica of the Corporate Mercenaries' standard issue rifle. For Avtomat is inscribed on the side."
|
||||
icon_state = "toym41"
|
||||
icon = 'modular_citadel/icons/obj/guns/toys.dmi'
|
||||
materials = list(MAT_METAL=2000, MAT_GLASS=250)
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
#define HYPO_SPRAY 0
|
||||
#define HYPO_INJECT 1
|
||||
|
||||
#define WAIT_SPRAY 50
|
||||
#define WAIT_INJECT 50
|
||||
#define SELF_SPRAY 30
|
||||
#define SELF_INJECT 30
|
||||
#define WAIT_SPRAY 25
|
||||
#define WAIT_INJECT 25
|
||||
#define SELF_SPRAY 15
|
||||
#define SELF_INJECT 15
|
||||
|
||||
#define DELUXE_WAIT_SPRAY 40
|
||||
#define DELUXE_WAIT_INJECT 40
|
||||
#define DELUXE_SELF_SPRAY 20
|
||||
#define DELUXE_SELF_INJECT 20
|
||||
#define DELUXE_WAIT_SPRAY 20
|
||||
#define DELUXE_WAIT_INJECT 20
|
||||
#define DELUXE_SELF_SPRAY 10
|
||||
#define DELUXE_SELF_INJECT 10
|
||||
|
||||
#define COMBAT_WAIT_SPRAY 0
|
||||
#define COMBAT_WAIT_INJECT 0
|
||||
@@ -284,4 +284,4 @@
|
||||
to_chat(M, "[src] is now set to inject contents on application.")
|
||||
if(HYPO_INJECT)
|
||||
mode = HYPO_SPRAY
|
||||
to_chat(M, "[src] is now set to spray contents on application.")
|
||||
to_chat(M, "[src] is now set to spray contents on application.")
|
||||
|
||||
@@ -67,11 +67,11 @@
|
||||
|
||||
/obj/item/reagent_containers/glass/bottle/vial/small
|
||||
name = "hypovial"
|
||||
volume = 30
|
||||
volume = 60
|
||||
possible_transfer_amounts = list(5,10)
|
||||
|
||||
/obj/item/reagent_containers/glass/bottle/vial/small/bluespace
|
||||
volume = 60
|
||||
volume = 120
|
||||
possible_transfer_amounts = list(5,10)
|
||||
name = "bluespace hypovial"
|
||||
icon_state = "hypovialbs"
|
||||
@@ -81,7 +81,7 @@
|
||||
name = "large hypovial"
|
||||
desc = "A large hypovial, for deluxe hypospray models."
|
||||
icon_state = "hypoviallarge"
|
||||
volume = 60
|
||||
volume = 120
|
||||
possible_transfer_amounts = list(5,10,15,20)
|
||||
unique_reskin = list("large hypovial" = "hypoviallarge",
|
||||
"large red hypovial" = "hypoviallarge-b",
|
||||
@@ -116,7 +116,7 @@
|
||||
/obj/item/reagent_containers/glass/bottle/vial/large/bluespace
|
||||
possible_transfer_amounts = list(5,10,15,20)
|
||||
name = "bluespace large hypovial"
|
||||
volume = 120
|
||||
volume = 240
|
||||
icon_state = "hypoviallargebs"
|
||||
unique_reskin = null
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 91 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 425 B After Width: | Height: | Size: 625 B |
@@ -2720,6 +2720,7 @@
|
||||
#include "modular_citadel\code\game\objects\effects\temporary_visuals\projectiles\muzzle.dm"
|
||||
#include "modular_citadel\code\game\objects\effects\temporary_visuals\projectiles\tracer.dm"
|
||||
#include "modular_citadel\code\game\objects\items\balls.dm"
|
||||
#include "modular_citadel\code\game\objects\items\boombox.dm"
|
||||
#include "modular_citadel\code\game\objects\items\handcuffs.dm"
|
||||
#include "modular_citadel\code\game\objects\items\holy_weapons.dm"
|
||||
#include "modular_citadel\code\game\objects\items\honk.dm"
|
||||
|
||||