Merge remote-tracking branch 'upstream/master' into floorcluwneport

This commit is contained in:
keronshb
2021-05-31 22:21:34 -04:00
68 changed files with 576 additions and 301 deletions

View File

@@ -74460,9 +74460,6 @@
},
/turf/open/floor/plasteel/dark,
/area/command/bridge)
"sKV" = (
/turf/open/space/basic,
/area/command/heads_quarters/captain)
"sLs" = (
/obj/effect/decal/cleanable/cobweb,
/obj/machinery/field/generator,
@@ -122066,7 +122063,7 @@ oRp
oRp
aaa
aai
sKV
aaa
aaa
aaa
aaa
@@ -130637,7 +130634,7 @@ aaf
aaf
aaa
aaa
sKV
aaa
aaa
aaa
aaa

View File

@@ -24647,6 +24647,12 @@
},
/turf/open/space,
/area/solars/starboard)
"beW" = (
/obj/machinery/atmospherics/pipe/simple/general/visible{
dir = 5
},
/turf/open/floor/plasteel,
/area/engineering/atmos)
"beY" = (
/obj/machinery/camera{
c_tag = "Arrivals Central";
@@ -40355,15 +40361,9 @@
/obj/structure/cable{
icon_state = "1-2"
},
/obj/machinery/atmospherics/components/binary/pump{
/obj/machinery/atmospherics/components/binary/pump/on{
dir = 8;
name = "Mix to Ports"
},
/turf/open/floor/plasteel,
/area/engineering/atmos)
"bNk" = (
/obj/machinery/atmospherics/pipe/manifold/green/visible{
dir = 1
name = "Unfiltered to Mix"
},
/turf/open/floor/plasteel,
/area/engineering/atmos)
@@ -40372,8 +40372,9 @@
/obj/effect/turf_decal/tile/yellow{
dir = 4
},
/obj/machinery/atmospherics/pipe/manifold/green/visible{
dir = 1
/obj/machinery/atmospherics/components/binary/pump/on{
dir = 4;
name = "Unfiltered & Air to Mix"
},
/turf/open/floor/plasteel,
/area/engineering/atmos)
@@ -40809,23 +40810,19 @@
},
/turf/open/floor/plasteel,
/area/engineering/atmos)
"bOo" = (
/obj/machinery/atmospherics/pipe/manifold/general/visible,
/turf/open/floor/plasteel,
/area/engineering/atmos)
"bOp" = (
/obj/structure/cable{
icon_state = "1-2"
},
/obj/machinery/atmospherics/pipe/simple/general/visible{
dir = 10
/obj/machinery/atmospherics/components/binary/pump{
dir = 8;
name = "Pure to Mix"
},
/turf/open/floor/plasteel,
/area/engineering/atmos)
"bOq" = (
/obj/machinery/atmospherics/components/binary/pump{
dir = 1;
name = "Pure to Mix"
/obj/machinery/atmospherics/pipe/manifold/green/visible{
dir = 1
},
/turf/open/floor/plasteel,
/area/engineering/atmos)
@@ -41089,13 +41086,6 @@
},
/turf/open/floor/plasteel,
/area/engineering/atmos)
"bPa" = (
/obj/machinery/portable_atmospherics/canister,
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
dir = 1
},
/turf/open/floor/plasteel,
/area/engineering/atmos)
"bPd" = (
/obj/machinery/atmospherics/pipe/manifold/yellow/visible{
dir = 8
@@ -41407,7 +41397,6 @@
/obj/structure/cable{
icon_state = "1-2"
},
/obj/machinery/atmospherics/pipe/simple/general/visible,
/turf/open/floor/plasteel,
/area/engineering/atmos)
"bPW" = (
@@ -41785,14 +41774,16 @@
/turf/open/floor/plasteel,
/area/engineering/atmos)
"bQK" = (
/obj/machinery/atmospherics/pipe/simple/cyan/visible,
/obj/machinery/atmospherics/pipe/simple/general/visible{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/cyan/visible,
/turf/open/floor/plasteel,
/area/engineering/atmos)
"bQL" = (
/obj/machinery/atmospherics/pipe/manifold4w/general/visible,
/obj/machinery/atmospherics/pipe/manifold/green/visible{
dir = 8
},
/turf/open/floor/plasteel,
/area/engineering/atmos)
"bQM" = (
@@ -41800,9 +41791,8 @@
/obj/effect/turf_decal/tile/yellow{
dir = 4
},
/obj/machinery/atmospherics/components/binary/pump/on{
dir = 1;
name = "Unfiltered to Mix"
/obj/machinery/atmospherics/pipe/simple/green/visible{
dir = 10
},
/turf/open/floor/plasteel,
/area/engineering/atmos)
@@ -42109,8 +42099,7 @@
/turf/open/floor/plasteel,
/area/engineering/atmos)
"bRw" = (
/obj/machinery/atmospherics/pipe/manifold4w/general/visible,
/obj/machinery/meter,
/obj/machinery/atmospherics/pipe/simple/general/visible,
/turf/open/floor/plasteel,
/area/engineering/atmos)
"bRx" = (
@@ -53829,6 +53818,12 @@
},
/turf/open/floor/plasteel,
/area/construction/mining/aux_base)
"eEd" = (
/obj/machinery/atmospherics/pipe/simple/green/visible{
dir = 6
},
/turf/open/floor/plasteel,
/area/engineering/atmos)
"eEp" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
dir = 4
@@ -55198,6 +55193,15 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel,
/area/construction/mining/aux_base)
"hEi" = (
/obj/structure/cable{
icon_state = "1-2"
},
/obj/machinery/atmospherics/pipe/simple/general/visible{
dir = 10
},
/turf/open/floor/plasteel,
/area/engineering/atmos)
"hEX" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 6
@@ -56739,6 +56743,12 @@
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel/dark,
/area/engineering/main)
"kWG" = (
/obj/machinery/atmospherics/pipe/manifold/general/visible{
dir = 4
},
/turf/open/floor/plasteel,
/area/engineering/atmos)
"kWQ" = (
/obj/machinery/atmospherics/pipe/simple/orange/visible,
/obj/structure/cable/yellow{
@@ -57443,6 +57453,15 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/closed/wall,
/area/maintenance/department/engine)
"mAR" = (
/obj/machinery/atmospherics/pipe/simple/green/visible{
dir = 5
},
/obj/machinery/atmospherics/pipe/simple/yellow/visible{
dir = 10
},
/turf/open/floor/plasteel,
/area/engineering/atmos)
"mCe" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/preopen{
@@ -58849,6 +58868,10 @@
},
/turf/open/floor/wood,
/area/service/lawoffice)
"pEM" = (
/obj/machinery/atmospherics/pipe/manifold/general/visible,
/turf/open/floor/plasteel,
/area/engineering/atmos)
"pFe" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/effect/turf_decal/tile/red{
@@ -59370,6 +59393,13 @@
},
/turf/open/floor/plasteel/dark,
/area/maintenance/department/crew_quarters/dorms)
"qQu" = (
/obj/machinery/portable_atmospherics/canister,
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
dir = 4
},
/turf/open/floor/plasteel,
/area/engineering/atmos)
"qRl" = (
/obj/item/radio/intercom{
name = "Station Intercom (General)";
@@ -60110,6 +60140,13 @@
},
/turf/open/floor/plating,
/area/maintenance/department/security/brig)
"sGJ" = (
/obj/structure/cable{
icon_state = "1-2"
},
/obj/machinery/atmospherics/pipe/simple/general/visible,
/turf/open/floor/plasteel,
/area/engineering/atmos)
"sIK" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -61031,6 +61068,12 @@
},
/turf/open/floor/engine,
/area/engineering/main)
"uST" = (
/obj/machinery/atmospherics/components/binary/pump{
name = "Mix to Ports"
},
/turf/open/floor/plasteel,
/area/engineering/atmos)
"uUQ" = (
/obj/machinery/door/airlock/maintenance{
name = "Engineering Maintenance";
@@ -99648,7 +99691,7 @@ bJN
bKS
bMe
bNh
bOo
pEM
bOX
bMf
bMf
@@ -100162,9 +100205,9 @@ bHw
bKU
bOr
bPU
kWG
bRw
bPa
bMf
beW
bMf
bMf
bMf
@@ -100418,13 +100461,13 @@ bIF
bHw
bKV
bOX
bUv
eEd
bQL
bPa
bMf
bMf
bMf
uST
pEM
bMf
qQu
qQu
bSU
bTT
bUv
@@ -100678,10 +100721,10 @@ bMg
bNj
bOp
bPV
bPV
bPV
bPV
bPV
hEi
sGJ
bUw
bUw
bUw
bUw
bUw
@@ -100932,8 +100975,8 @@ bIH
bHw
cqG
bOX
bNk
bOq
mAR
bPd
bPW
bPW

View File

@@ -165,6 +165,7 @@
#define TRAIT_EXEMPT_HEALTH_EVENTS "exempt-health-events"
#define TRAIT_NO_MIDROUND_ANTAG "no-midround-antag" //can't be turned into an antag by random events
#define TRAIT_PUGILIST "pugilist" //This guy punches people for a living
#define TRAIT_NOPUGILIST "nopugilist" // for preventing ((((((((((extreme)))))))))) punch stacking
#define TRAIT_KI_VAMPIRE "ki-vampire" //when someone with this trait rolls maximum damage on a punch and stuns the target, they regain some stamina and do clone damage
#define TRAIT_MAULER "mauler" // this guy punches the shit out of people to hurt them, not to drain their stamina
#define TRAIT_PASSTABLE "passtable"

View File

@@ -89,6 +89,7 @@
//Generic living
#define ui_living_pull "EAST-1:28,CENTER-2:15"
#define ui_living_health "EAST-1:28,CENTER:15"
#define ui_living_healthdoll "EAST-1:28,CENTER-1:15"
//Monkeys
#define ui_monkey_head "CENTER-5:13,SOUTH:5"

View File

@@ -637,6 +637,11 @@
name = "health doll"
screen_loc = ui_healthdoll
/obj/screen/healthdoll/living
icon_state = "fullhealth0"
screen_loc = ui_living_healthdoll
var/filtered = FALSE //so we don't repeatedly create the mask of the mob every update
/obj/screen/mood
name = "mood"
icon_state = "mood5"

View File

@@ -0,0 +1,15 @@
/datum/hud/living/simple_animal
ui_style = 'icons/mob/screen_gen.dmi'
/datum/hud/living/simple_animal/New(mob/living/owner)
..()
pull_icon = new /obj/screen/pull()
pull_icon.icon = ui_style
pull_icon.update_icon()
pull_icon.screen_loc = ui_living_pull
pull_icon.hud = src
static_inventory += pull_icon
//mob health doll! assumes whatever sprite the mob is
healthdoll = new /obj/screen/healthdoll/living()
healthdoll.hud = src
infodisplay += healthdoll

View File

@@ -165,6 +165,7 @@
ADD_TRAIT(H, TRAIT_PIERCEIMMUNE, SLEEPING_CARP_TRAIT)
ADD_TRAIT(H, TRAIT_NODISMEMBER, SLEEPING_CARP_TRAIT)
ADD_TRAIT(H, TRAIT_TASED_RESISTANCE, SLEEPING_CARP_TRAIT)
ADD_TRAIT(H, TRAIT_NOPUGILIST, SLEEPING_CARP_TRAIT) // cqc doesn't get this as it's intended to be able to stack with northstar gloves
H.physiology.brute_mod *= 0.4 //brute is really not gonna cut it
H.physiology.burn_mod *= 0.7 //burn is distinctly more useful against them than brute but they're still resistant
H.physiology.stamina_mod *= 0.4 //You take less stamina damage overall, but you do not reduce the damage from stun batons as much
@@ -181,6 +182,7 @@
REMOVE_TRAIT(H, TRAIT_PIERCEIMMUNE, SLEEPING_CARP_TRAIT)
REMOVE_TRAIT(H, TRAIT_NODISMEMBER, SLEEPING_CARP_TRAIT)
REMOVE_TRAIT(H, TRAIT_TASED_RESISTANCE, SLEEPING_CARP_TRAIT)
REMOVE_TRAIT(H, TRAIT_NOPUGILIST, SLEEPING_CARP_TRAIT)
H.physiology.brute_mod = initial(H.physiology.brute_mod)
H.physiology.burn_mod = initial(H.physiology.burn_mod)
H.physiology.stamina_mod = initial(H.physiology.stamina_mod)

View File

@@ -688,7 +688,7 @@
else
. += "It looks very robust."
if(hasSiliconAccessInArea(user) && (!stat & BROKEN))
if(hasSiliconAccessInArea(user) && !(stat & BROKEN))
. += "<span class='notice'>Shift-click [src] to [ density ? "open" : "close"] it.</span>"
. += "<span class='notice'>Ctrl-click [src] to [ locked ? "raise" : "drop"] its bolts.</span>"
. += "<span class='notice'>Alt-click [src] to [ secondsElectrified ? "un-electrify" : "permanently electrify"] it.</span>"

View File

@@ -383,7 +383,7 @@
. = ..()
/obj/item/stack/medical/mesh/on_attack_hand(mob/user, act_intent = user.a_intent, unarmed_attack_flags)
if(!is_open & user.get_inactive_held_item() == src)
if(!is_open && (user.get_inactive_held_item() == src))
to_chat(user, "<span class='warning'>You need to open [src] first.</span>")
return
. = ..()

View File

@@ -73,3 +73,15 @@
name = "wumborian fugu den"
desc = "A den housing a nest of wumborian fugus, how do they all even fit in there?"
mob_types = list(/mob/living/simple_animal/hostile/asteroid/fugu)
/obj/structure/spawner/clown
name = "Laughing Larry"
desc = "A laughing, jovial figure. Something seems stuck in his throat."
icon_state = "clownbeacon"
icon = 'icons/obj/device.dmi'
max_integrity = 200
max_mobs = 15
spawn_time = 150
mob_types = list(/mob/living/simple_animal/hostile/retaliate/clown, /mob/living/simple_animal/hostile/retaliate/clown/fleshclown, /mob/living/simple_animal/hostile/retaliate/clown/clownhulk, /mob/living/simple_animal/hostile/retaliate/clown/longface, /mob/living/simple_animal/hostile/retaliate/clown/clownhulk/chlown, /mob/living/simple_animal/hostile/retaliate/clown/clownhulk/honcmunculus, /mob/living/simple_animal/hostile/retaliate/clown/mutant/blob)
spawn_text = "climbs out of"
faction = list("clown")

View File

@@ -127,7 +127,7 @@
to_chat(user, "<span class='danger'>Throwing [pushed_mob] onto the table might hurt them!</span>")
return
var/added_passtable = FALSE
if(!pushed_mob.pass_flags & PASSTABLE)
if(!(pushed_mob.pass_flags & PASSTABLE))
added_passtable = TRUE
pushed_mob.pass_flags |= PASSTABLE
pushed_mob.Move(src.loc)

View File

@@ -164,14 +164,12 @@ GLOBAL_LIST_EMPTY(antagonists)
/datum/antagonist/proc/remove_blacklisted_quirks()
var/mob/living/L = owner.current
if(istype(L))
var/list/my_quirks = L.client?.prefs.all_quirks.Copy()
SSquirks.filter_quirks(my_quirks,blacklisted_quirks)
for(var/q in L.roundstart_quirks)
var/datum/quirk/Q = q
if(!(SSquirks.quirk_name_by_path(Q.type) in my_quirks))
if(Q.type in blacklisted_quirks)
if(initial(Q.antag_removal_text))
to_chat(L, "<span class='boldannounce'>[initial(Q.antag_removal_text)]</span>")
L.remove_quirk(Q.type)
qdel(Q)
//Returns the team antagonist belongs to if any.
/datum/antagonist/proc/get_team()

View File

@@ -680,6 +680,11 @@
glove_type = /obj/item/clothing/gloves/fingerless/pugilist/cling // just punch his head off dude
glove_name_simple = "bone gauntlets"
/obj/effect/proc_holder/changeling/gloves/gauntlets/sting_action(mob/living/user)
if(HAS_TRAIT(user, TRAIT_NOPUGILIST))
to_chat(user, "<span class='warning'>We would gain nothing by forming our fists into brute-force weapons when we are trained in precision martial arts!</span>")
return
/obj/item/clothing/gloves/fingerless/pugilist/cling // switches between lesser GotNS and Big Punchy Rib Breaky Hands
name = "hewn bone gauntlets"
icon_state = "ling_gauntlets"

View File

@@ -50,7 +50,7 @@
/obj/item/melee/touch_attack/mansus_fist/afterattack(atom/target, mob/user, proximity_flag, click_parameters)
if(!proximity_flag | target == user)
if(!proximity_flag || (target == user))
return
playsound(user, 'sound/items/welder.ogg', 75, TRUE)
if(ishuman(target))

View File

@@ -24,7 +24,7 @@
var/check = FALSE
if(ismob(target))
var/mob/living/mobster = target
if(!mobster.mob_biotypes & MOB_ROBOTIC)
if(!(mobster.mob_biotypes & MOB_ROBOTIC))
return FALSE
else
check = TRUE

View File

@@ -84,6 +84,9 @@
if(slam_cooldown + slam_cooldown_time > world.time)
to_chat(src, "<span class='warning'>Your slam ability is still on cooldown!</span>")
return
if(!isopenturf(loc))
to_chat(src, "<span class='warning'>You need to be on open flooring to do that!")
return
face_atom(A)
var/mob/living/victim = A

View File

@@ -37,14 +37,19 @@
/obj/item/clothing/gloves/fingerless/pugilist/equipped(mob/user, slot)
. = ..()
if(slot == SLOT_GLOVES)
use_buffs(user, TRUE)
wornonce = TRUE
if((HAS_TRAIT(user, TRAIT_NOPUGILIST)))
to_chat(user, "<span class='danger'>What purpose is there to don the weapons of pugilism if you're already well-practiced in martial arts? Mixing arts is blasphemous!</span>")
return
use_buffs(user, TRUE)
/obj/item/clothing/gloves/fingerless/pugilist/dropped(mob/user)
. = ..()
if(wornonce)
use_buffs(user, FALSE)
wornonce = FALSE
if((HAS_TRAIT(user, TRAIT_NOPUGILIST)))
return
use_buffs(user, FALSE)
/obj/item/clothing/gloves/fingerless/pugilist/proc/use_buffs(mob/user, buff)
if(buff) // tarukaja
@@ -67,6 +72,7 @@
H.dna.species.punchdamagehigh -= enhancement
H.dna.species.punchdamagelow -= enhancement
H.dna.species.punchwoundbonus -= wound_enhancement
H.dna?.species?.attack_sound_override = null
if(!silent)
to_chat(user, "<span class='warning'>With [src] off of your arms, you feel less ready to punch things.</span>")
@@ -223,6 +229,50 @@
parry_cooldown = 0
parry_failed_clickcd_duration = 0
/obj/item/clothing/gloves/fingerless/pugilist/mauler
name = "mauler gauntlets"
desc = "Plastitanium gauntlets coated in a thick nano-weave carbon material and implanted with nanite injectors that boost the wielder's strength six-fold."
icon_state = "mauler_gauntlets"
item_state = "mauler_gauntlets"
transfer_prints = FALSE
body_parts_covered = ARMS|HANDS
cold_protection = ARMS|HANDS
min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT
max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT
armor = list("melee" = 30, "bullet" = 30, "laser" = 10, "energy" = 10, "bomb" = 55, "bio" = 15, "rad" = 15, "fire" = 80, "acid" = 50)
siemens_coefficient = 0
permeability_coefficient = 0.05
strip_delay = 80
enhancement = 12 // same as the changeling gauntlets but without changeling utility
wound_enhancement = 12
silent = TRUE
inherited_trait = TRAIT_CHUNKYFINGERS // your fingers are fat because the gloves are
secondary_trait = TRAIT_MAULER // commit table slam
/obj/item/clothing/gloves/fingerless/pugilist/mauler/equipped(mob/user, slot)
. = ..()
if(slot == SLOT_GLOVES)
wornonce = TRUE
if((HAS_TRAIT(user, TRAIT_NOPUGILIST)))
return
use_mauls(user, TRUE)
/obj/item/clothing/gloves/fingerless/pugilist/mauler/dropped(mob/user)
. = ..()
if(wornonce)
wornonce = FALSE
if((HAS_TRAIT(user, TRAIT_NOPUGILIST)))
return
use_mauls(user, FALSE)
/obj/item/clothing/gloves/fingerless/pugilist/mauler/proc/use_mauls(mob/user, maul)
if(maul)
if(ishuman(user))
var/mob/living/carbon/human/H = user
H.dna?.species?.attack_sound_override = 'sound/weapons/mauler_punch.ogg'
if(silent)
to_chat(H, "<span class='danger'>You feel prickles around your wrists as [src] cling to them - strength courses through your veins!</span>")
/obj/item/clothing/gloves/botanic_leather
name = "botanist's leather gloves"
desc = "These leather gloves protect against thorns, barbs, prickles, spikes and other harmful objects of floral origin. They're also quite warm."
@@ -253,7 +303,6 @@
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 50)
strip_mod = 1.5
/obj/item/clothing/gloves/bracer
name = "bone bracers"
desc = "For when you're expecting to get slapped on the wrist. Offers modest protection to your arms."

View File

@@ -535,3 +535,9 @@
to_chat(user, "<span class='notice'>You insert [I] into [src].</span>")
B.use(10)
icon_state = initial(icon_state)
/obj/item/clothing/shoes/swagshoes
name = "swag shoes"
desc = "They got me for my foams!"
icon_state = "SwagShoes"
item_state = "SwagShoes"

View File

@@ -355,3 +355,10 @@
name = "Sakura Kimono'"
icon_state = "sakura_kimono"
item_state = "sakura_kimono"
/obj/item/clothing/under/costume/swagoutfit
name = "Swag outfit"
desc = "Why don't you go secure some bitches?"
icon_state = "SwagOutfit"
item_state = "SwagOutfit"
can_adjust = FALSE

View File

@@ -61,7 +61,7 @@
originMachine.visible_message("[originMachine] beeps and seems lifeless.")
kill()
return
vendingMachines = listclearnulls(vendingMachines)
listclearnulls(vendingMachines)
if(!vendingMachines.len) //if every machine is infected
for(var/obj/machinery/vending/upriser in infectedMachines)
if(prob(70) && !QDELETED(upriser))

View File

@@ -162,12 +162,19 @@
icon = 'modular_citadel/icons/mob/mam_ears.dmi'
/datum/sprite_accessory/ears/human/rabbit
name = "Rabbit"
name = "Rabbit (Lop-eared)"
icon_state = "rabbit"
color_src = MATRIXED
matrixed_sections = MATRIX_RED_GREEN
icon = 'modular_citadel/icons/mob/mam_ears.dmi'
/datum/sprite_accessory/ears/human/rabbitalt
name = "Rabbit (Straight-eared)"
icon_state = "rabbitalt"
color_src = MATRIXED
matrixed_sections = MATRIX_ALL
icon = 'modular_citadel/icons/mob/mam_ears.dmi'
/datum/sprite_accessory/ears/human/pede
name = "Scolipede"
icon_state = "pede"
@@ -296,7 +303,7 @@
/datum/sprite_accessory/ears/mam_ears/deer
name = "Deer"
icon_state = "deer"
color_src = MUTCOLORS3
matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/ears/mam_ears/eevee
name = "Eevee"
@@ -359,10 +366,15 @@
matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/ears/mam_ears/rabbit
name = "Rabbit"
name = "Rabbit (Lop-eared)"
icon_state = "rabbit"
matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/ears/mam_ears/rabbitalt
name = "Rabbit (Straight-eared)"
icon_state = "rabbitalt"
matrixed_sections = MATRIX_ALL
/datum/sprite_accessory/ears/mam_ears/pede
name = "Scolipede"
icon_state = "pede"

View File

@@ -17,6 +17,10 @@
name = "Adhara"
icon_state = "hair_adhara"
/datum/sprite_accessory/hair/africanpigtails
name = "African Pig Tails"
icon_state = "hair_africanpigtails"
/datum/sprite_accessory/hair/afro
name = "Afro"
icon_state = "hair_afro"
@@ -25,10 +29,26 @@
name = "Afro 2"
icon_state = "hair_afro2"
/datum/sprite_accessory/hair/afro2alt
name = "Afro 2 (Alt)"
icon_state = "hair_afro2alt"
/datum/sprite_accessory/hair/afro_large
name = "Afro (Large)"
icon_state = "hair_bigafro"
/datum/sprite_accessory/hair/afropuffdouble
name = "Afropuff (Double)"
icon_state = "hair_afropuffdouble"
/datum/sprite_accessory/hair/afropuffleft
name = "Afropuff (Left)"
icon_state = "hair_afropuffleft"
/datum/sprite_accessory/hair/afropuffright
name = "Afropuff (Right)"
icon_state = "hair_afropuffright"
/datum/sprite_accessory/hair/antenna
name = "Ahoge"
icon_state = "hair_antenna"
@@ -41,10 +61,18 @@
name = "Anita"
icon_state = "hair_anita"
/datum/sprite_accessory/hair/astolfo
name = "Astolfo"
icon_state = "hair_astolfo"
/datum/sprite_accessory/hair/balding
name = "Balding Hair"
icon_state = "hair_e"
/datum/sprite_accessory/hair/baum
name = "Baum"
icon_state = "hair_baum"
/datum/sprite_accessory/hair/bedhead
name = "Bedhead"
icon_state = "hair_bedhead"
@@ -85,6 +113,14 @@
name = "Belle"
icon_state = "hair_belle"
/datum/sprite_accessory/hair/bluntbangs
name = "Bluntbangs"
icon_state = "hair_bluntbangs"
/datum/sprite_accessory/hair/bluntbangsalt
name = "Bluntbangs (Alt)"
icon_state = "hair_bluntbangsalt"
/datum/sprite_accessory/hair/bob
name = "Bob Hair"
icon_state = "hair_bob"
@@ -109,6 +145,10 @@
name = "Bobcut (Alt)"
icon_state = "hair_bobcutalt"
/datum/sprite_accessory/hair/bobcutalt2
name = "Bobcut (Alt) 2"
icon_state = "hair_bobcutalt2"
/datum/sprite_accessory/hair/boddicker
name = "Boddicker"
icon_state = "hair_boddicker"
@@ -205,6 +245,14 @@
name = "CIA"
icon_state = "hair_cia"
/datum/sprite_accessory/hair/combedback
name = "Combed Back"
icon_state = "hair_combedback"
/datum/sprite_accessory/hair/combedbob
name = "Combed Bob"
icon_state = "hair_combedbob"
/datum/sprite_accessory/hair/combover
name = "Combover"
icon_state = "hair_combover"
@@ -233,6 +281,14 @@
name = "Cornrow Tail"
icon_state = "hair_cornrowtail"
/datum/sprite_accessory/hair/cotton
name = "Cotton"
icon_state = "hair_cotton"
/datum/sprite_accessory/hair/cottonalt
name = "Cotton (Alt)"
icon_state = "hair_cottonalt"
/datum/sprite_accessory/hair/country
name = "Country"
icon_state = "hair_country"
@@ -261,6 +317,10 @@
name = "Devil Lock"
icon_state = "hair_devillock"
/datum/sprite_accessory/hair/diagonalbangs
name = "Diagonal Bangs"
icon_state = "hair_diagonalbangs"
/datum/sprite_accessory/hair/dreadlocks
name = "Dreadlocks"
icon_state = "hair_dreads"
@@ -337,10 +397,22 @@
name = "Fluffy"
icon_state = "hair_fluffy"
/datum/sprite_accessory/hair/fortuneteller
name = "Fortune Teller"
icon_state = "hair_fortuneteller"
/datum/sprite_accessory/hair/fringetail
name = "Fringe Tail"
icon_state = "hair_fringetail"
/datum/sprite_accessory/hair/froofy
name = "Froofy"
icon_state = "hair_froofy"
/datum/sprite_accessory/hair/geisha
name = "Geisha"
icon_state = "hair_geisha"
/datum/sprite_accessory/hair/gelled
name = "Gelled Back"
icon_state = "hair_gelled"
@@ -349,6 +421,26 @@
name = "Gentle"
icon_state = "hair_gentle"
/datum/sprite_accessory/hair/glammetal
name = "Glam Metal"
icon_state = "hair_glammetal"
/datum/sprite_accessory/hair/gloomy
name = "Gloomy"
icon_state = "hair_gloomy"
/datum/sprite_accessory/hair/gloomylong
name = "Gloomy (Long)"
icon_state = "hair_gloomylong"
/datum/sprite_accessory/hair/hajime
name = "Hajime"
icon_state = "hair_hajime"
/datum/sprite_accessory/hair/hajimealt
name = "Hajime (Alt)"
icon_state = "hair_hajimealt"
/datum/sprite_accessory/hair/halfbang
name = "Half-banged Hair"
icon_state = "hair_halfbang"
@@ -365,6 +457,10 @@
name = "Half-shaved Hair"
icon_state = "hair_halfshaved"
/datum/sprite_accessory/hair/harold
name = "Harold"
icon_state = "hair_harold"
/datum/sprite_accessory/hair/hedgehog
name = "Hedgehog Hair"
icon_state = "hair_hedgehog"
@@ -393,6 +489,10 @@
name = "Hitop"
icon_state = "hair_hitop"
/datum/sprite_accessory/hair/inari
name = "Inari"
icon_state = "hair_inari"
/datum/sprite_accessory/hair/inkling
name = "Inkling"
icon_state = "hair_inkling"
@@ -421,14 +521,18 @@
name = "Keanu"
icon_state = "hair_keanu"
/datum/sprite_accessory/hair/kusangi
name = "Kusanagi"
icon_state = "hair_kusanagi"
/datum/sprite_accessory/hair/kisaragi
name = "Kisaragi"
icon_state = "hair_kisaragi"
/datum/sprite_accessory/hair/kleeia
name = "Kleeia"
icon_state = "hair_kleeia"
/datum/sprite_accessory/hair/kusangi
name = "Kusanagi"
icon_state = "hair_kusanagi"
/datum/sprite_accessory/hair/long
name = "Long Hair 1"
icon_state = "hair_long"
@@ -449,6 +553,10 @@
name = "Long Over Eye"
icon_state = "hair_longovereye"
/datum/sprite_accessory/hair/long_over_eyealt
name = "Long Over Eye (Alt)"
icon_state = "hair_longovereyealt"
/datum/sprite_accessory/hair/longbangs
name = "Long Bangs"
icon_state = "hair_lbangs"
@@ -489,10 +597,6 @@
name = "Mohawk"
icon_state = "hair_d"
/datum/sprite_accessory/hair/newyou
name = "New You"
icon_state = "hair_newyou"
/datum/sprite_accessory/hair/reversemohawk
name = "Mohawk (Reverse)"
icon_state = "hair_reversemohawk"
@@ -509,6 +613,10 @@
name = "Mulder"
icon_state = "hair_mulder"
/datum/sprite_accessory/hair/newyou
name = "New You"
icon_state = "hair_newyou"
/datum/sprite_accessory/hair/nia
name = "Nia"
icon_state = "hair_nia"
@@ -579,10 +687,18 @@
name = "Pompadour (Big)"
icon_state = "hair_bigpompadour"
/datum/sprite_accessory/hair/bigpompadouralt
name = "Pompadour (Big) (Alt)"
icon_state = "hair_bigpompadouralt"
/datum/sprite_accessory/hair/ponytail1
name = "Ponytail"
icon_state = "hair_ponytail"
/datum/sprite_accessory/hair/ponytail1alt
name = "Ponytail (Alt)"
icon_state = "hair_ponytailalt"
/datum/sprite_accessory/hair/ponytail2
name = "Ponytail 2"
icon_state = "hair_ponytail2"
@@ -591,14 +707,26 @@
name = "Ponytail 3"
icon_state = "hair_ponytail3"
/datum/sprite_accessory/hair/ponytail3alt
name = "Ponytail 3 (Alt)"
icon_state = "hair_ponytail3alt"
/datum/sprite_accessory/hair/ponytail4
name = "Ponytail 4"
icon_state = "hair_ponytail4"
/datum/sprite_accessory/hair/ponytail4alt
name = "Ponytail 4 (Alt)"
icon_state = "hair_ponytail4alt"
/datum/sprite_accessory/hair/ponytail5
name = "Ponytail 5"
icon_state = "hair_ponytail5"
/datum/sprite_accessory/hair/ponytail6
name = "Ponytail 6"
icon_state = "hair_ponytail6"
/datum/sprite_accessory/hair/highponytail
name = "Ponytail (High)"
icon_state = "hair_highponytail"
@@ -623,6 +751,10 @@
name = "Ponytail (Side) 4"
icon_state = "hair_sidetail4"
/datum/sprite_accessory/hair/sidetail5
name = "Ponytail (Side) 5"
icon_state = "hair_sidetail5"
/datum/sprite_accessory/hair/sharptail
name = "Ponytail (Sharp)"
icon_state = "hair_sharptail"
@@ -639,10 +771,18 @@
name = "Poofy 2"
icon_state = "hair_poofy2"
/datum/sprite_accessory/hair/quadcurls
name = "Quad Curls"
icon_state = "hair_quadcurls"
/datum/sprite_accessory/hair/quiff
name = "Quiff"
icon_state = "hair_quiff"
/datum/sprite_accessory/hair/rockstar
name = "Rockstar"
icon_state = "hair_rockstar"
/datum/sprite_accessory/hair/ronin
name = "Ronin"
icon_state = "hair_ronin"
@@ -759,6 +899,10 @@
name = "Slightly Long Hair"
icon_state = "hair_protagonist"
/datum/sprite_accessory/hair/slightlymessy
name = "Slightly Messy Hair"
icon_state = "hair_slightlymessy"
/datum/sprite_accessory/hair/spiky
name = "Spiky"
icon_state = "hair_spikey"
@@ -771,6 +915,26 @@
name = "Spiky 3"
icon_state = "hair_spiky2"
/datum/sprite_accessory/hair/slimedroplet
name = "Slime Droplet"
icon_state = "hair_slimedroplet"
/datum/sprite_accessory/hair/slimedropletalt
name = "Slime Droplet (Alt)"
icon_state = "hair_slimedropletalt"
/datum/sprite_accessory/hair/slimespikes
name = "Slime Spikes"
icon_state = "hair_slimespikes"
/datum/sprite_accessory/hair/slimetendrils
name = "Slime Tendrils"
icon_state = "hair_slimetendrils"
/datum/sprite_accessory/hair/slimetendrilsalt
name = "Slime Tendrils (Alt)"
icon_state = "hair_slimetendrilsalt"
/datum/sprite_accessory/hair/supernova
name = "Supernova"
icon_state = "hair_supernova"
@@ -851,6 +1015,10 @@
name = "Very Long Hair 2"
icon_state = "hair_longest"
/datum/sprite_accessory/hair/longestalt
name = "Very Long Hair 2 (Alt)"
icon_state = "hair_longestalt"
/datum/sprite_accessory/hair/longest2
name = "Very Long Over Eye"
icon_state = "hair_longest2"
@@ -886,3 +1054,7 @@
/datum/sprite_accessory/hair/ziegler
name = "Ziegler"
icon_state = "hair_ziegler"
/datum/sprite_accessory/hair/zone
name = "Zone"
icon_state = "hair_zone"

View File

@@ -149,6 +149,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
///
var/sound/attack_sound = 'sound/weapons/punch1.ogg'
var/sound/miss_sound = 'sound/weapons/punchmiss.ogg'
var/attack_sound_override = null
var/list/mob/living/ignored_by = list() // list of mobs that will ignore this species
//Breathing!
@@ -569,12 +570,10 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
/datum/species/proc/remove_blacklisted_quirks(mob/living/carbon/C)
var/mob/living/L = C.mind?.current
if(istype(L))
var/list/my_quirks = L.client?.prefs.all_quirks.Copy()
SSquirks.filter_quirks(my_quirks, blacklisted_quirks)
for(var/q in L.roundstart_quirks)
var/datum/quirk/Q = q
if(!(SSquirks.quirk_name_by_path(Q.type) in my_quirks))
L.remove_quirk(Q.type)
if(Q.type in blacklisted_quirks)
qdel(Q)
removed_quirks += Q.type
// restore any quirks that we removed
@@ -1615,7 +1614,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
var/armor_block = target.run_armor_check(affecting, "melee")
playsound(target.loc, user.dna.species.attack_sound, 25, 1, -1)
playsound(target.loc, user.dna.species.attack_sound_override || attack_sound, 25, 1, -1)
target.visible_message("<span class='danger'>[user] [atk_verb]ed [target]!</span>", \
"<span class='userdanger'>[user] [atk_verb]ed you!</span>", null, COMBAT_MESSAGE_RANGE, null, \
user, "<span class='danger'>You [atk_verb]ed [target]!</span>")

View File

@@ -542,8 +542,48 @@
update_stat()
med_hud_set_health()
med_hud_set_status()
update_health_hud()
//proc used to ressuscitate a mob
/mob/living/update_health_hud()
var/severity = 0
var/healthpercent = (health/maxHealth) * 100
if(hud_used?.healthdoll) //to really put you in the boots of a simplemob
var/obj/screen/healthdoll/living/livingdoll = hud_used.healthdoll
switch(healthpercent)
if(100 to INFINITY)
livingdoll.icon_state = "living0"
if(80 to 100)
livingdoll.icon_state = "living1"
severity = 1
if(60 to 80)
livingdoll.icon_state = "living2"
severity = 2
if(40 to 60)
livingdoll.icon_state = "living3"
severity = 3
if(20 to 40)
livingdoll.icon_state = "living4"
severity = 4
if(1 to 20)
livingdoll.icon_state = "living5"
severity = 5
else
livingdoll.icon_state = "living6"
severity = 6
if(!livingdoll.filtered)
livingdoll.filtered = TRUE
var/icon/mob_mask = icon(icon, icon_state)
if(mob_mask.Height() > world.icon_size || mob_mask.Width() > world.icon_size)
var/health_doll_icon_state = health_doll_icon ? health_doll_icon : "megasprite"
mob_mask = icon('icons/mob/screen_gen.dmi', health_doll_icon_state) //swap to something generic if they have no special doll
UNLINT(livingdoll.filters += filter(type="alpha", icon = mob_mask))
livingdoll.filters += filter(type="drop_shadow", size = -1)
if(severity > 0)
overlay_fullscreen("brute", /obj/screen/fullscreen/brute, severity)
else
clear_fullscreen("brute")
//Proc used to resuscitate a mob, for full_heal see fully_heal()
/mob/living/proc/revive(full_heal = FALSE, admin_revive = FALSE)
SEND_SIGNAL(src, COMSIG_LIVING_REVIVE, full_heal, admin_revive)
if(full_heal)

View File

@@ -94,6 +94,7 @@
var/smoke_delay = 0 //used to prevent spam with smoke reagent reaction on mob.
var/bubble_icon = "default" //what icon the mob uses for speechbubbles
var/health_doll_icon //if this exists AND the normal sprite is bigger than 32x32, this is the replacement icon state (because health doll size limitations). the icon will always be screen_gen.dmi
var/last_bumped = 0
var/unique_name = 0 //if a mob's name should be appended with an id when created e.g. Mob (666)

View File

@@ -149,6 +149,7 @@
icon_state = "alienq"
icon_living = "alienq"
icon_dead = "alienq_dead"
health_doll_icon = "alienq"
bubble_icon = "alienroyal"
move_to_delay = 4
maxHealth = 400

View File

@@ -73,6 +73,7 @@
icon_living = "megacarp"
icon_dead = "megacarp_dead"
icon_gib = "megacarp_gib"
health_doll_icon = "megacarp"
regen_amount = 6
maxHealth = 30

View File

@@ -9,6 +9,7 @@
icon_state = "crawling"
icon_living = "crawling"
icon_dead = "dead"
health_doll_icon = "crawling"
mob_biotypes = MOB_ORGANIC|MOB_HUMANOID
speak_chance = 80
maxHealth = 220

View File

@@ -28,6 +28,7 @@ Difficulty: Medium
icon_state = "miner"
icon_living = "miner"
icon = 'icons/mob/broadMobs.dmi'
health_doll_icon = "miner"
mob_biotypes = MOB_ORGANIC|MOB_HUMANOID
light_color = "#E4C7C5"
movement_type = GROUND

View File

@@ -33,6 +33,7 @@ Difficulty: Hard
icon_state = "bubblegum"
icon_living = "bubblegum"
icon_dead = ""
health_doll_icon = "bubblegum"
friendly_verb_continuous = "stares down"
friendly_verb_simple = "stare down"
icon = 'icons/mob/lavaland/96x96megafauna.dmi'

View File

@@ -32,6 +32,7 @@ Difficulty: Very Hard
icon_state = "eva"
icon_living = "eva"
icon_dead = "dragon_dead"
health_doll_icon = "eva"
friendly_verb_continuous = "stares down"
friendly_verb_simple = "stare down"
icon = 'icons/mob/lavaland/96x96megafauna.dmi'

View File

@@ -48,6 +48,7 @@ Difficulty: Medium
icon_state = "dragon"
icon_living = "dragon"
icon_dead = "dragon_dead"
health_doll_icon = "dragon"
friendly_verb_continuous = "stares down"
friendly_verb_simple = "stare down"
speak_emote = list("roars")

View File

@@ -44,6 +44,7 @@ Difficulty: Normal
attack_sound = 'sound/weapons/sonic_jackhammer.ogg'
icon_state = "hierophant"
icon_living = "hierophant"
health_doll_icon = "hierophant"
friendly_verb_continuous = "stares down"
friendly_verb_simple = "stare down"
icon = 'icons/mob/lavaland/hierophant_new.dmi'

View File

@@ -26,6 +26,7 @@ SHITCODE AHEAD. BE ADVISED. Also comment extravaganza
spacewalk = TRUE
icon_state = "mega_legion"
icon_living = "mega_legion"
health_doll_icon = "mega_legion"
desc = "One of many."
icon = 'icons/mob/lavaland/96x96megafauna.dmi'
attack_verb_continuous = "chomps"

View File

@@ -75,6 +75,7 @@
icon_living = "watcher"
icon_aggro = "watcher"
icon_dead = "watcher_dead"
health_doll_icon = "watcher"
pixel_x = -10
throw_message = "bounces harmlessly off of"
melee_damage_lower = 15

View File

@@ -25,6 +25,7 @@
icon_aggro = "broodmother"
icon_dead = "egg_sac"
icon_gib = "syndicate_gib"
health_doll_icon = "broodmother"
maxHealth = 800
health = 800
melee_damage_lower = 30

View File

@@ -24,6 +24,7 @@
icon_aggro = "herald"
icon_dead = "herald_dying"
icon_gib = "syndicate_gib"
health_doll_icon = "herald"
maxHealth = 800
health = 800
melee_damage_lower = 20

View File

@@ -24,6 +24,7 @@
icon_aggro = "legionnaire"
icon_dead = "legionnaire_dead"
icon_gib = "syndicate_gib"
health_doll_icon = "legionnaire"
maxHealth = 800
health = 800
melee_damage_lower = 30

View File

@@ -24,6 +24,7 @@
icon_aggro = "pandora"
icon_dead = "pandora_dead"
icon_gib = "syndicate_gib"
health_doll_icon = "pandora"
maxHealth = 800
health = 800
melee_damage_lower = 15

View File

@@ -253,6 +253,7 @@
icon_state = "legion"
icon_living = "legion"
icon_dead = "legion"
health_doll_icon = "legion"
health = 450
maxHealth = 450
melee_damage_lower = 20

View File

@@ -6,6 +6,7 @@
icon_living = "clown"
icon_dead = "clown_dead"
icon_gib = "clown_gib"
health_doll_icon = "clown" //if >32x32, it will use this generic. for all the huge clown mobs that subtype from this
mob_biotypes = MOB_ORGANIC|MOB_HUMANOID
turns_per_move = 5
response_disarm_continuous = "gently pushes aside"

View File

@@ -6,6 +6,7 @@
icon_living = "pine_1"
icon_dead = "pine_1"
icon_gib = "pine_1"
health_doll_icon = "pine_1"
gender = NEUTER
speak_chance = 0
turns_per_move = 5
@@ -72,5 +73,6 @@
icon_living = "festivus_pole"
icon_dead = "festivus_pole"
icon_gib = "festivus_pole"
health_doll_icon = "festivus_pole"
loot = list(/obj/item/stack/rods)
speak_emote = list("polls")

View File

@@ -8,6 +8,7 @@
icon_aggro = "Fugu0"
icon_dead = "Fugu_dead"
icon_gib = "syndicate_gib"
health_doll_icon = "Fugu0"
mob_biotypes = MOB_ORGANIC|MOB_BEAST
mouse_opacity = MOUSE_OPACITY_ICON
move_to_delay = 5

View File

@@ -7,6 +7,7 @@
///How much blud it has for bloodsucking
blood_volume = 550
rad_flags = RAD_NO_CONTAMINATE
hud_type = /datum/hud/living/simple_animal
status_flags = CANPUSH

View File

@@ -158,12 +158,12 @@
return FALSE
size_x = clamp(size_x, 0, CAMERA_PICTURE_SIZE_HARD_LIMIT)
size_y = clamp(size_y, 0, CAMERA_PICTURE_SIZE_HARD_LIMIT)
var/list/desc = list("This is a photo of an area of [size_x+1] meters by [size_y+1] meters.")
var/list/desc = list("This is a photo of an area of [size_x*2 + 1] meters by [size_y*2 + 1] meters.")
var/ai_user = isAI(user)
var/list/seen
var/list/viewlist = (user && user.client)? getviewsize(user.client.view) : getviewsize(world.view)
var/list/viewlist = user?.client? getviewsize(user.client.view) : getviewsize(world.view)
var/viewr = max(viewlist[1], viewlist[2]) + max(size_x, size_y)
var/viewc = user.client? user.client.eye : target
var/viewc = user?.client? user.client.eye : target
seen = get_hear(viewr, viewc)
var/list/turfs = list()
var/list/mobs = list()
@@ -184,7 +184,7 @@
var/psize_y = (size_y * 2 + 1) * world.icon_size
var/get_icon = camera_get_icon(turfs, target_turf, psize_x, psize_y, clone_area, size_x, size_y, (size_x * 2 + 1), (size_y * 2 + 1))
qdel(clone_area)
var/icon/temp = icon('icons/effects/96x96.dmi',"")
var/icon/temp = icon('icons/effects/camera_image_base.dmi',"")
temp.Blend("#000", ICON_OVERLAY)
temp.Scale(psize_x, psize_y)
temp.Blend(get_icon, ICON_OVERLAY)

View File

@@ -47,7 +47,7 @@
atoms += A
CHECK_TICK
var/icon/res = icon('icons/effects/96x96.dmi', "")
var/icon/res = icon('icons/effects/camera_image_base.dmi', "")
res.Scale(psize_x, psize_y)
var/list/sorted = list()
@@ -64,7 +64,6 @@
var/xcomp = FLOOR(psize_x / 2, 1) - 15
var/ycomp = FLOOR(psize_y / 2, 1) - 15
for(var/atom/A in sorted)
var/xo = (A.x - center.x) * world.icon_size + A.pixel_x + xcomp
var/yo = (A.y - center.y) * world.icon_size + A.pixel_y + ycomp

View File

@@ -254,14 +254,14 @@
software_error()
/datum/nanite_program/proc/on_shock(shock_damage)
if(!program_flags & NANITE_SHOCK_IMMUNE)
if(!(program_flags & NANITE_SHOCK_IMMUNE))
if(prob(10))
software_error()
else if(prob(33))
self_destruct()
/datum/nanite_program/proc/on_minor_shock()
if(!program_flags & NANITE_SHOCK_IMMUNE)
if(!(program_flags & NANITE_SHOCK_IMMUNE))
if(prob(10))
software_error()

View File

@@ -38,7 +38,7 @@
specialised contractor baton, and three randomly selected low cost items. Can include otherwise unobtainable items."
item = /obj/item/storage/box/syndie_kit/contract_kit
cost = 20
player_minimum = 30
player_minimum = 25
exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
restricted = TRUE

View File

@@ -228,6 +228,15 @@
surplus = 50
include_modes = list(/datum/game_mode/nuclear)
/datum/uplink_item/dangerous/maulergauntlets
name = "Mauler Gauntlets"
desc = "Mauler gauntlets are a pair of high-tech plastitanium gauntlets fused with illegal nanite auto-injectors designed \
to grant the wearer sextuple the strength of an average human being. Wearing these, you will punch harder, inflict more injuries \
with your fists, and be able to slam people through tables with immense force. \
Unfortunately, due to the size of the gloves you will be unable to wield firearms with them equipped."
item = /obj/item/clothing/gloves/fingerless/pugilist/mauler
cost = 8
/datum/uplink_item/dangerous/powerfist
name = "Power Fist"
desc = "The power-fist is a metal gauntlet with a built-in piston-ram powered by an external gas supply.\

View File

@@ -212,6 +212,8 @@
/obj/item/clothing/suit/jacket/leather/overcoat = 4,
/obj/item/clothing/under/pants/mustangjeans = 3,
/obj/item/clothing/neck/necklace/dope = 5,
/obj/item/clothing/under/costume/swagoutfit = 5,
/obj/item/clothing/shoes/swagshoes = 5,
/obj/item/clothing/suit/jacket/letterman_nanotrasen = 5,
/obj/item/clothing/under/misc/corporateuniform = 5,
/obj/item/clothing/suit/hooded/wintercoat/polychromic = 5,

View File

@@ -50,6 +50,56 @@
-->
<div class="commit sansserif">
<h2 class="date">29 May 2021</h2>
<h3 class="author">Kraseo updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">No more slamming into people while bloodcrawled.</li>
</ul>
<h3 class="author">Linzolle updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">brand intelligence event works again</li>
</ul>
<h3 class="author">keronshb updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">swag outfit available in clothesmate</li>
<li class="rscadd">swag shoes availble in clothesmate resprite: changed swag shoes icon to the one twaticus made.</li>
<li class="rscadd">Adds the clown mob spawner for admins</li>
</ul>
<h3 class="author">zeroisthebiggay updated:</h3>
<ul class="changes bgimages16">
<li class="balance">puglism damage can no longer stack with scarp</li>
</ul>
<h2 class="date">26 May 2021</h2>
<h3 class="author">bunny232 updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Removed two random 'captain's office' tiles from space on meta station</li>
</ul>
<h2 class="date">24 May 2021</h2>
<h3 class="author">zeroisthebiggay updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">New traitor item: the Mauler Gauntlets! Punch hard, punch good! Eight telecrystals, buy today!</li>
<li class="rscadd">hairs from Airborne Snitch</li>
</ul>
<h2 class="date">23 May 2021</h2>
<h3 class="author">Putnam3145 updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Antag and species no longer remove all traits if one has a blacklisted trait</li>
</ul>
<h3 class="author">WanderingFox95 updated:</h3>
<ul class="changes bgimages16">
<li class="imageadd">Replaced the antlers showing up when you select deer ears with actual deer ears. Literally why was that even a thing before?</li>
<li class="imageadd">Straight rabbit ears are now a thing.</li>
</ul>
<h3 class="author">keronshb updated:</h3>
<ul class="changes bgimages16">
<li class="balance">30 > 25 pop req for contractor kit</li>
<li class="code_imp">adds a special hud for simple mobs.</li>
<li class="imageadd">a lot of >32x32 mobs now have icons for their health dolls</li>
</ul>
<h2 class="date">21 May 2021</h2>
<h3 class="author">Putnam3145 updated:</h3>
<ul class="changes bgimages16">
@@ -530,212 +580,6 @@
<ul class="changes bgimages16">
<li class="bugfix">piratepayment</li>
</ul>
<h2 class="date">29 March 2021</h2>
<h3 class="author">BlueWildrose updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Fixed being unable to fix suit sensors if damaged at all unless destroyed completely</li>
</ul>
<h3 class="author">YakumoChen updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">A less-than-new Syndicate bundle that reminds you of the good old days when we didn't need all those newfangled traitor items the young-uns get. We had 6 items in the uplink and we had Monkey in rotation and by god we made do.</li>
</ul>
<h3 class="author">qweq12yt updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Added Earmuffs</li>
<li class="rscadd">Added Random Drink</li>
<li class="rscadd">Added Clear PDA</li>
<li class="rscadd">Added Internals Box</li>
<li class="rscadd">Added Meson Goggles</li>
<li class="rscadd">Added Smoke Grenade</li>
</ul>
<h3 class="author">silicons updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">automated hydroponics system design now works properly</li>
</ul>
<h2 class="date">28 March 2021</h2>
<h3 class="author">CuteMoff updated:</h3>
<ul class="changes bgimages16">
<li class="balance">Changed Strength Modifier from the default (1.0) too .7</li>
</ul>
<h3 class="author">Hatterhat updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">As a heretic, shattering your blade no longer interferes with bluespace.</li>
</ul>
<h3 class="author">Putnam3145 updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Threat tracking is now universal, rather than dynamic-only</li>
<li class="rscadd">Slaughter demon event now increases weight based on how much blood there is.</li>
</ul>
<h3 class="author">R3dtail updated:</h3>
<ul class="changes bgimages16">
<li class="rscdel">Removed ichor creates</li>
<li class="balance">Removed ichor crates and adjusted crate rolling appropriately</li>
<li class="balance">Removed the bonespear from the blackmarket uplink, and made EMP grenades harder to get from the same item.</li>
<li class="rscadd">Added a description to the black market uplink</li>
</ul>
<h3 class="author">Shadow-Quill updated:</h3>
<ul class="changes bgimages16">
<li class="imageadd">Added small versions of the walk icon for all hud styles, except Retro.</li>
</ul>
<h3 class="author">dzahlus updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Added radial menu to joy mask for alt reskins</li>
<li class="imageadd">added pensive, angry and flushed sprites to joy mask</li>
</ul>
<h3 class="author">keronshb updated:</h3>
<ul class="changes bgimages16">
<li class="balance">Radioactive microlasers can no longer knock out creatures who are immune to the effects of radiation.</li>
<li class="bugfix">The radioactive microlaser now calculates the strength of its delay effect using the intensity setting it had when you initially used it on your victim, not the intensity setting it currently has. This prevents people from "cheating out" its intensity 20 effect with only a 2 second delay and a 1 second cooldown.</li>
<li class="balance">Radioactive microlasers no longer contain twice as much metal as normal health analyzers do.</li>
</ul>
<h3 class="author">necromanceranne updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Replaces the useless bullet and laser shields with new Kinetic and Ablative shields, which do as they advertise.</li>
<li class="rscadd">Replaces the shield implants shield with a hardlight shield that can take large amounts of brute damage, but disintegrates when shot with disablers.</li>
<li class="bugfix">Fixes Fake Roman Shields being able to be used as normal riot shields.</li>
<li class="bugfix">Fixes nonlethal/non-physical damage types destroying shields. (stamina, toxins, oxygen, clone, brain)</li>
<li class="bugfix">Fixes tower shields not doing anything, while also giving them intergrity to match their advertised durability.</li>
<li class="bugfix">Uses additional flags to determine what kind effects work well and what works poorly against various shields.</li>
</ul>
<h3 class="author">timothyteakettle updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">ghost cafe residents can now disguise themselves as any mob or object</li>
<li class="bugfix">fixes character preview not updating when selecting the loadout tab</li>
</ul>
<h3 class="author">zeroisthebiggay updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">triple kitsune tail</li>
</ul>
<h2 class="date">26 March 2021</h2>
<h3 class="author">BlueWildrose updated:</h3>
<ul class="changes bgimages16">
<li class="balance">Clothing no longer drops when shredded. It just becomes useless.</li>
<li class="balance">Suit sensors are guaranteed to short out when the clothes become shredded, not damaged now.</li>
<li class="balance">Uniform limb integrity increased from 30 to 120.</li>
<li class="balance">Suit sensor damage has been added. The more damaged your suit sensors get, the less features that will be available from these suit sensors. It takes two e-sword hits to ruin your tracking beacon for instance. tweak: Examine text on uniforms is now more clear about needing cable coil to repair your suit sensors.</li>
<li class="bugfix">Fixed prisoner uniform sprite paths</li>
</ul>
<h3 class="author">CuteMoff updated:</h3>
<ul class="changes bgimages16">
<li class="balance">Diamond's forcemod was changed from 1.1x to 1.2x</li>
</ul>
<h3 class="author">Hatterhat updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Lever-action rifles, chambered in .38, are now sitting in the code. They might be buyable from Cargo or the Black Market soon. Watch this space.</li>
<li class="rscadd">Sawed-off shotguns now look like shotguns, but short, when inhand, instead of "generic gun".</li>
</ul>
<h3 class="author">timothyteakettle updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">slimes can be delimbed</li>
<li class="bugfix">the loadout now colours pet collars correctly</li>
</ul>
<h2 class="date">25 March 2021</h2>
<h3 class="author">zeroisthebiggay updated:</h3>
<ul class="changes bgimages16">
<li class="balance">strained muscles isn't free</li>
</ul>
<h2 class="date">24 March 2021</h2>
<h3 class="author">BlueWildrose updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">The nightmare's light eater can now destroy messes that emit light, like glowing goo or ectoplasmic puddles.</li>
</ul>
<h3 class="author">Hatterhat updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">The NOGUNS trait now takes precedence over the triggerguard checks.</li>
<li class="balance">Medicated sutures and advanced regenerative mesh are now easier to make. Reagent-quantity wise, anyway.</li>
</ul>
<h3 class="author">ItzGabby updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Fluff Items with polychromic support</li>
<li class="rscadd">A new vendor called Bark box</li>
<li class="rscadd">A new form of snack with it's own box</li>
<li class="rscadd">Two harness, one of them being lewd</li>
<li class="rscadd">One new collar, with a ribbon. Classy.</li>
<li class="rscadd">More locked forms of collars</li>
<li class="rscdel">Purged old balls</li>
<li class="balance">Removed the funny buffs each colored tennis ball had, down with the powergame!</li>
<li class="imageadd">Added polychromic fluff icons, vendor icons, suit icons, snack icons, fancy box icons, and a polychromic version of Izzy's ball.</li>
<li class="imagedel">Deleted old balls, Izzy's Ball, except the rainbow one since it's special and as I did not go out of my way to get permission to touch.</li>
<li class="spellcheck">Walked into vending.dm and glared for a moment at hydroponics' grammar.</li>
</ul>
<h3 class="author">LetterN updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">fixed laptops pickability</li>
<li class="bugfix">fixed closets being unweldable</li>
</ul>
<h3 class="author">YakumoChen updated:</h3>
<ul class="changes bgimages16">
<li class="balance">Genetics - Thermal vision is a recipe instead of a natural gene now. Nearsighted+Stimmed. Other minor nerfs, Thermal is 40 instability.</li>
<li class="balance">Research - X-ray eyes are now an illegal tech.</li>
</ul>
<h3 class="author">qweq12yt updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">added the black market uplink</li>
<li class="imageadd">added blackmarket.dmi</li>
<li class="bugfix">increased the black market interface's width, now the delivery options will show properly when the LTSRBT is built</li>
</ul>
<h3 class="author">zeroisthebiggay updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">biodegrade works on legcuffs</li>
</ul>
<h2 class="date">23 March 2021</h2>
<h3 class="author">LetterN updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">NIRM departamental purchases now work. Have fun spending the entire R&D Budget!</li>
</ul>
<h2 class="date">21 March 2021</h2>
<h3 class="author">Arturlang updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Vampire statpanel no longer shows spans unnecesary</li>
</ul>
<h3 class="author">GrayRachnid updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">fixed the holopad autocall bug</li>
<li class="bugfix">properly incorporated the secure holopad that was commented out in the code.</li>
<li class="config">the in_character_filter.txt is now usable</li>
<li class="admin">headmins should edit the in_character_filter.txt</li>
<li class="server">someone with box access should delete racism with the in_character_filter.txt</li>
<li class="balance">buffed particle defender disabler shots from 13->15 stamina (15*6=90)</li>
<li class="balance">buffed particle defender laser ammo to 4 shots</li>
</ul>
<h3 class="author">Hatterhat updated:</h3>
<ul class="changes bgimages16">
<li class="rscdel">removes pacifism from ghost cafe. have fun beating up your coworkers</li>
</ul>
<h3 class="author">LetterN updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Art gallery (meta)</li>
<li class="rscadd">Laptop vendor (meta, delta, box)</li>
</ul>
<h3 class="author">Putnam3145 updated:</h3>
<ul class="changes bgimages16">
<li class="balance">Buffed supermatter surge massively.</li>
</ul>
<h3 class="author">The-Sun-In-Splendour updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">You cannot revive yourself (as a changeling) if you've been absorbed anymore</li>
</ul>
<h3 class="author">dzahlus updated:</h3>
<ul class="changes bgimages16">
<li class="balance">rebalanced hierophant STAFF to do 15 damage on all attacks</li>
</ul>
<h3 class="author">timothyteakettle updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">using the puddle ability when stunned wont break it</li>
</ul>
<h2 class="date">20 March 2021</h2>
<h3 class="author">Hatterhat updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Bluespace beaker filling icons for that narrow band between 90 and 80% full now actually exist.</li>
</ul>
</div>
<b>GoonStation 13 Development Team</b>

View File

@@ -29332,3 +29332,35 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
2021-05-21:
Putnam3145:
- bugfix: Fixed activity being attached to minds instead of mobs on antag attach.
2021-05-23:
Putnam3145:
- bugfix: Antag and species no longer remove all traits if one has a blacklisted
trait
WanderingFox95:
- imageadd: Replaced the antlers showing up when you select deer ears with actual
deer ears. Literally why was that even a thing before?
- imageadd: Straight rabbit ears are now a thing.
keronshb:
- balance: 30 > 25 pop req for contractor kit
- code_imp: adds a special hud for simple mobs.
- imageadd: a lot of >32x32 mobs now have icons for their health dolls
2021-05-24:
zeroisthebiggay:
- rscadd: 'New traitor item: the Mauler Gauntlets! Punch hard, punch good! Eight
telecrystals, buy today!'
- rscadd: hairs from Airborne Snitch
2021-05-26:
bunny232:
- bugfix: Removed two random 'captain's office' tiles from space on meta station
2021-05-29:
Kraseo:
- bugfix: No more slamming into people while bloodcrawled.
Linzolle:
- bugfix: brand intelligence event works again
keronshb:
- rscadd: swag outfit available in clothesmate
- rscadd: 'swag shoes availble in clothesmate resprite: changed swag shoes icon
to the one twaticus made.'
- rscadd: Adds the clown mob spawner for admins
zeroisthebiggay:
- balance: puglism damage can no longer stack with scarp

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 460 KiB

After

Width:  |  Height:  |  Size: 462 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 312 KiB

After

Width:  |  Height:  |  Size: 314 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 KiB

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 133 KiB

After

Width:  |  Height:  |  Size: 134 KiB

View File

@@ -550,7 +550,7 @@
ckeywhitelist = list("sneka")
/datum/gear/donator/smaiden
name = "Shrine Maiden"
slot = SLOT_WEAR_SUIT
path = /obj/item/clothing/suit/smaiden
name = "shrine maiden outfit"
slot = SLOT_W_UNIFORM
path = /obj/item/clothing/under/smaiden
ckeywhitelist = list("ultimarifox")

View File

@@ -602,8 +602,8 @@
mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi'
icon_state = "mmask"
/obj/item/clothing/suit/smaiden
name = "shrine maiden"
/obj/item/clothing/under/smaiden
name = "shrine maiden outfit"
desc = "Seems questionably tight for religious purposes."
icon_state = "smaiden"
item_state = "smaiden"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

View File

@@ -272,6 +272,7 @@
#include "code\_onclick\hud\revenanthud.dm"
#include "code\_onclick\hud\robot.dm"
#include "code\_onclick\hud\screen_objects.dm"
#include "code\_onclick\hud\simple_animal.dm"
#include "code\_onclick\hud\swarmer.dm"
#include "code\_onclick\hud\screen_objects\clickdelay.dm"
#include "code\_onclick\hud\screen_objects\sprint.dm"