Fixes and tweaks to the previous.

This commit is contained in:
Zuhayr
2014-12-23 18:48:10 +10:30
parent bbfc6db0a3
commit cc00fa3d52
26 changed files with 187 additions and 162 deletions

View File

@@ -43,7 +43,7 @@ proc/random_name(gender, species = "Human")
if(species)
current_species = all_species[species]
if(!current_species)
if(!current_species || current_species.name == "Human")
if(gender==FEMALE)
return capitalize(pick(first_names_female)) + " " + capitalize(pick(last_names))
else

View File

@@ -1,17 +1,18 @@
/obj/machinery/gibber
name = "Gibber"
name = "gibber"
desc = "The name isn't descriptive enough?"
icon = 'icons/obj/kitchen.dmi'
icon_state = "grinder"
density = 1
anchored = 1
req_access = list(access_kitchen,access_morgue)
var/operating = 0 //Is it on?
var/dirty = 0 // Does it need cleaning?
var/mob/living/occupant // Mob who has been put inside
var/gib_time = 40 // Time from starting until meat appears
var/gib_throw_dir // Direction to spit meat and gibs in.
var/gib_time = 40 // Time from starting until meat appears
var/gib_throw_dir = WEST // Direction to spit meat and gibs in.
use_power = 1
idle_power_usage = 2
@@ -29,6 +30,7 @@
if(input_obj)
if(isturf(input_obj.loc))
input_plate = input_obj.loc
gib_throw_dir = i
del(input_obj)
break
@@ -78,14 +80,18 @@
else
src.startgibbing(user)
/obj/machinery/gibber/examine()
..()
usr << "The safety guard is [emagged ? "<span class='danger'>disabled</span>" : "enabled"]."
/obj/machinery/gibber/attackby(var/obj/item/W, var/mob/user)
if(istype(W,/obj/item/weapon/card/emag))
if(emagged)
user << "The gibber safety guard is already disabled."
if(istype(W,/obj/item/weapon/card))
if(!allowed(user) && !istype(W,/obj/item/weapon/card/emag))
user << "<span class='danger'>Access denied.</span>"
return
user << "<span class='danger'>You disable the gibber safety guard.</span>"
emagged = 1
emagged = !emagged
user << "<span class='danger'>You [emagged ? "disable" : "enable"] the gibber safety guard.</span>"
return
var/obj/item/weapon/grab/G = W
@@ -199,7 +205,7 @@
slab_nutrition /= slab_count
for(var/i=1 to slab_count)
var/obj/item/weapon/reagent_containers/food/snacks/meat/new_meat = new slab_type(get_turf(src))
var/obj/item/weapon/reagent_containers/food/snacks/meat/new_meat = new slab_type(src)
new_meat.name = "[slab_name] [new_meat.name]"
new_meat.reagents.add_reagent("nutriment",slab_nutrition)
@@ -220,9 +226,14 @@
playsound(src.loc, 'sound/effects/splat.ogg', 50, 1)
operating = 0
for (var/obj/item/thing in contents)
for (var/obj/thing in contents)
// Todo: unify limbs and internal organs
// There's a chance that the gibber will fail to destroy some evidence.
if((istype(thing,/obj/item/weapon/organ) || istype(thing,/obj/item/organ)) && prob(80))
del(thing)
continue
thing.loc = get_turf(thing) // Drop it onto the turf for throwing.
thing.throw_at(get_edge_target_turf(src,gib_throw_dir),rand(1,5),15) // Being pelted with bits of meat and bone would hurt.
thing.throw_at(get_edge_target_turf(src,gib_throw_dir),rand(1,5),emagged ? 15 : 30) // Being pelted with bits of meat and bone would hurt.
update_icon()

View File

@@ -1,6 +1,4 @@
/proc/gibs(atom/location, var/list/viruses, var/datum/dna/MobDNA, var/spawn_inside, gibber_type = /obj/effect/gibspawner/generic, var/fleshcolor, var/bloodcolor)
if(!spawn_inside)
location = get_turf(location)
/proc/gibs(atom/location, var/list/viruses, var/datum/dna/MobDNA, gibber_type = /obj/effect/gibspawner/generic, var/fleshcolor, var/bloodcolor)
new gibber_type(location,viruses,MobDNA,fleshcolor,bloodcolor)
/obj/effect/gibspawner
@@ -17,9 +15,7 @@
if(fleshcolor) src.fleshcolor = fleshcolor
if(bloodcolor) src.bloodcolor = bloodcolor
if(istype(loc,/turf)) //basically if a badmin spawns it
Gib(loc,viruses,MobDNA)
Gib(loc,viruses,MobDNA)
proc/Gib(atom/location, var/list/viruses = list(), var/datum/dna/MobDNA = null)
if(gibtypes.len != gibamounts.len || gibamounts.len != gibdirections.len)
@@ -33,7 +29,7 @@
if(sparks)
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
s.set_up(2, 1, location)
s.set_up(2, 1, get_turf(location)) // Not sure if it's safe to pass an arbitrary object to set_up, todo
s.start()
for(var/i = 1, i<= gibtypes.len, i++)
@@ -62,8 +58,9 @@
gib.blood_DNA[MobDNA.unique_enzymes] = MobDNA.b_type
else if(istype(src, /obj/effect/gibspawner/human)) // Probably a monkey
gib.blood_DNA["Non-human DNA"] = "A+"
var/list/directions = gibdirections[i]
if(directions.len)
gib.streak(directions)
if(istype(location,/turf/))
var/list/directions = gibdirections[i]
if(directions.len)
gib.streak(directions)
del(src)

View File

@@ -641,13 +641,13 @@ datum/preferences
else if((current_species.flags & IS_WHITELISTED) && !is_alien_whitelisted(user,current_species))
restricted = 1
if(restricted && !check_rights(R_ADMIN, 0))
if(restricted)
if(restricted == 1)
dat += "<font color='red'><b>You cannot play as this species.</br><small>If you wish to be whitelisted, you can make an application post on <a href='http://baystation12.net/forums/viewtopic.php?f=46&t=5319'>the forums</a>.</small></b></font>"
dat += "<font color='red'><b>You cannot play as this species.</br><small>If you wish to be whitelisted, you can make an application post on <a href='http://baystation12.net/forums/viewtopic.php?f=46&t=5319'>the forums</a>.</small></b></font></br>"
else if(restricted == 2)
dat += "<font color='red'><b>You cannot play as this species.</br><small>This species is not available for play as a station race..</small></b></font>"
else
dat += "\[<a href='?src=\ref[user];preference=species;task=input;newspecies=[species_preview]'>select</a>\]"
dat += "<font color='red'><b>You cannot play as this species.</br><small>This species is not available for play as a station race..</small></b></font></br>"
if(!restricted || check_rights(R_ADMIN, 0))
dat += "\[<a href='?src=\ref[user];preference=species;task=input;newspecies=[species_preview]'>select</a>\]"
dat += "</center></body>"
user << browse(null, "window=preferences")

View File

@@ -14,8 +14,7 @@
New()
..()
var/blocked = list(/obj/item/clothing/under/chameleon, /obj/item/clothing/under/cloud,
/obj/item/clothing/under/golem, /obj/item/clothing/under/gimmick)//Prevent infinite loops and bad jumpsuits.
var/blocked = list(/obj/item/clothing/under/chameleon, /obj/item/clothing/under/cloud, /obj/item/clothing/under/gimmick)//Prevent infinite loops and bad jumpsuits.
for(var/U in typesof(/obj/item/clothing/under)-blocked)
var/obj/item/clothing/under/V = new U
src.clothing_choices[V.name] = U
@@ -67,8 +66,7 @@
New()
..()
var/blocked = list(/obj/item/clothing/head/chameleon,
/obj/item/clothing/head/space/golem, /obj/item/clothing/head/justice,)//Prevent infinite loops and bad hats.
var/blocked = list(/obj/item/clothing/head/chameleon,/obj/item/clothing/head/justice,)//Prevent infinite loops and bad hats.
for(var/U in typesof(/obj/item/clothing/head)-blocked)
var/obj/item/clothing/head/V = new U
src.clothing_choices[V.name] = U
@@ -119,8 +117,7 @@
New()
..()
var/blocked = list(/obj/item/clothing/suit/chameleon,
/obj/item/clothing/suit/golem, /obj/item/clothing/suit/cyborg_suit, /obj/item/clothing/suit/justice,
var/blocked = list(/obj/item/clothing/suit/chameleon, /obj/item/clothing/suit/cyborg_suit, /obj/item/clothing/suit/justice,
/obj/item/clothing/suit/greatcoat)//Prevent infinite loops and bad suits.
for(var/U in typesof(/obj/item/clothing/suit)-blocked)
var/obj/item/clothing/suit/V = new U
@@ -172,8 +169,7 @@
New()
..()
var/blocked = list(/obj/item/clothing/shoes/chameleon,
/obj/item/clothing/shoes/golem, /obj/item/clothing/shoes/syndigaloshes, /obj/item/clothing/shoes/cyborg)//prevent infinite loops and bad shoes.
var/blocked = list(/obj/item/clothing/shoes/chameleon, /obj/item/clothing/shoes/syndigaloshes, /obj/item/clothing/shoes/cyborg)//prevent infinite loops and bad shoes.
for(var/U in typesof(/obj/item/clothing/shoes)-blocked)
var/obj/item/clothing/shoes/V = new U
src.clothing_choices[V.name] = U

View File

@@ -30,7 +30,7 @@
brainmob.client.screen.len = null //clear the hud
/obj/item/organ/brain/proc/transfer_identity(var/mob/living/carbon/H)
name = "[H]'s brain"
name = "\the [H]'s [initial(src.name)]"
brainmob = new(src)
brainmob.name = H.real_name
brainmob.real_name = H.real_name
@@ -39,7 +39,7 @@
if(H.mind)
H.mind.transfer_to(brainmob)
brainmob << "\blue You feel slightly disoriented. That's normal when you're just a brain."
brainmob << "<span class='notice'>You feel slightly disoriented. That's normal when you're just a [initial(src.name)].</span>"
callHook("debrain", list(brainmob))
/obj/item/organ/brain/examine(mob/user) // -- TLE
@@ -72,4 +72,22 @@
if(brainmob.mind)
brainmob.mind.transfer_to(target)
else
target.key = brainmob.key
target.key = brainmob.key
/obj/item/organ/brain/slime
name = "slime core"
desc = "A complex, organic knot of jelly and crystalline particles."
prosthetic_name = null
prosthetic_icon = null
robotic = 2
icon = 'icons/mob/slimes.dmi'
icon_state = "green slime extract"
/obj/item/organ/brain/golem
name = "chem"
desc = "A tightly furled roll of paper, covered with indecipherable runes."
prosthetic_name = null
prosthetic_icon = null
robotic = 2
icon = 'icons/obj/wizard.dmi'
icon_state = "scroll"

View File

@@ -57,7 +57,7 @@
for(var/mob/N in viewers(src, null))
if(N.client)
N.show_message(text("\red <B>[M] bursts out of [src]!</B>"), 2)
. = ..(null,1)
..()
/mob/living/carbon/attack_hand(mob/M as mob)
if(!istype(M, /mob/living/carbon)) return

View File

@@ -8,8 +8,26 @@
// Override the current limb status and don't cause an explosion
E.droplimb(1,1)
for(var/datum/organ/internal/I in internal_organs)
var/obj/item/organ/current_organ = I.remove()
current_organ.loc = src.loc
current_organ.organ_data.rejecting = null
var/datum/reagent/blood/organ_blood = locate(/datum/reagent/blood) in current_organ.reagents.reagent_list
if(!organ_blood || !organ_blood.data["blood_DNA"])
src.vessel.trans_to(current_organ, 5, 1, 1)
current_organ.removed(src)
if(current_organ && istype(loc,/turf))
var/target_dir = pick(cardinal)
var/turf/target_turf = loc
var/steps = rand(1,2)
for(var/i = 0;i<steps;i++)
target_turf = get_step(target_turf,target_dir)
current_organ.throw_at(target_turf)
..(species.gibbed_anim)
gibs(loc, viruses, dna, null, null, species.flesh_color, species.blood_color)
gibs(loc, viruses, dna, null, species.flesh_color, species.blood_color)
/mob/living/carbon/human/dust()
if(species)

View File

@@ -52,7 +52,10 @@
t_his = "her"
t_him = "her"
msg += "<EM>[src.name]</EM>!\n"
msg += "<EM>[src.name]</EM>"
if(species.name != "Human")
msg += ", a <b><font color='[species.flesh_color]'>[species.name]</font></b>"
msg += "!\n"
//uniform
if(w_uniform && !skipjumpsuit)

View File

@@ -751,13 +751,13 @@
if(!lastpuke)
lastpuke = 1
src << "<spawn class='warning'>You feel nauseous..."
src << "<span class='warning'>You feel nauseous...</span>"
spawn(150) //15 seconds until second warning
src << "<spawn class='warning'>You feel like you are about to throw up!"
src << "<span class='warning'>You feel like you are about to throw up!</span>"
spawn(100) //and you have 10 more for mad dash to the bucket
Stun(5)
src.visible_message("<spawn class='warning'>[src] throws up!","<spawn class='warning'>You throw up!")
src.visible_message("<span class='warning'>[src] throws up!</span>","<span class='warning'>You throw up!</span>")
playsound(loc, 'sound/effects/splat.ogg', 50, 1)
var/turf/location = loc

View File

@@ -1,8 +1,25 @@
/datum/species/shadow
name = "Shadow"
name_plural = "shadows"
icobase = 'icons/mob/human_races/r_shadow.dmi'
deform = 'icons/mob/human_races/r_shadow.dmi'
language = "Sol Common" //todo?
unarmed_types = list(/datum/unarmed_attack/claws/strong, /datum/unarmed_attack/bite/sharp)
light_dam = 2
darksight = 8
flags = IS_RESTRICTED | NO_SCAN | NO_SLIP | NO_POISON
has_organ = list()
blood_color = "#CCCCCC"
flesh_color = "#AAAAAA"
remains_type = /obj/effect/decal/cleanable/ash
death_message = "dissolves into ash..."
flags = IS_RESTRICTED | NO_BLOOD | NO_POISON | NO_SCAN | NO_SLIP | NO_POISON
/datum/species/shadow/handle_death(var/mob/living/carbon/human/H)
spawn(1)
new /obj/effect/decal/cleanable/ash(H.loc)
del(H)

View File

@@ -175,10 +175,6 @@
add_inherent_verbs(H)
/datum/species/proc/handle_death(var/mob/living/carbon/human/H) //Handles any species-specific death events (such as dionaea nymph spawns).
if(flags & IS_SYNTHETIC)
H.h_style = ""
spawn(100)
H.update_hair()
return
// Only used for alien plasma weeds atm, but could be used for Dionaea later.

View File

@@ -1,6 +1,10 @@
/datum/species/golem
name = "Golem"
name_plural = "golems"
icobase = 'icons/mob/human_races/r_golem.dmi'
deform = 'icons/mob/human_races/r_golem.dmi'
language = "Sol Common" //todo?
unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/punch)
flags = IS_RESTRICTED | NO_BREATHE | NO_PAIN | NO_BLOOD | IS_SYNTHETIC | NO_SCAN | NO_POISON
@@ -8,6 +12,15 @@
breath_type = null
poison_type = null
blood_color = "#515573"
flesh_color = "#137E8F"
has_organ = list(
"brain" = /datum/organ/internal/brain/golem
)
death_message = "becomes completely motionless..."
/datum/species/golem/handle_post_spawn(var/mob/living/carbon/human/H)
if(H.mind)
H.mind.assigned_role = "Golem"

View File

@@ -1,10 +1,24 @@
/datum/species/slime
name = "Slime"
name_plural = "slimes"
icobase = 'icons/mob/human_races/r_slime.dmi'
deform = 'icons/mob/human_races/r_slime.dmi'
language = "Sol Common" //todo?
unarmed_types = list(/datum/unarmed_attack/slime_glomp)
flags = IS_RESTRICTED | NO_SCAN | NO_SLIP | NO_BREATHE
flags = IS_RESTRICTED | NO_BLOOD | NO_SCAN | NO_SLIP | NO_BREATHE
darksight = 3
blood_color = "#05FF9B"
flesh_color = "#05FFFB"
has_organ = list(
"brain" = /datum/organ/internal/brain/slime
)
inherent_verbs = list(
)
breath_type = null
poison_type = null

View File

@@ -201,7 +201,11 @@
blood_color = "#1F181F"
flesh_color = "#575757"
has_organ = list(
"heart" = /datum/organ/internal/heart,
"brain" = /datum/organ/internal/brain,
)
has_organ = list() //TODO: Positronic brain.
/datum/species/machine/handle_death(var/mob/living/carbon/human/H)
..()
if(flags & IS_SYNTHETIC)
H.h_style = ""
spawn(100)
if(H) H.update_hair()

View File

@@ -490,7 +490,10 @@ proc/get_damage_icon_part(damage_state, body_part)
/mob/living/carbon/human/regenerate_icons()
..()
if(monkeyizing) return
update_mutations(0)
update_body(0)
update_hair(0)
update_inv_w_uniform(0)
update_inv_wear_id(0)
update_inv_gloves(0)

View File

@@ -678,90 +678,6 @@ mob/living/carbon/slime/var/temperature_resistance = T0C+75
target.enahnced = 1
del(src)*/
////////Adamantine Golem stuff I dunno where else to put it
// This will eventually be removed.
/obj/item/clothing/under/golem
name = "adamantine skin"
desc = "a golem's skin"
icon_state = "golem"
item_state = "golem"
item_color = "golem"
has_sensor = 0
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
canremove = 0
/obj/item/clothing/suit/golem
name = "adamantine shell"
desc = "a golem's thick outter shell"
icon_state = "golem"
item_state = "golem"
w_class = 4//bulky item
gas_transfer_coefficient = 0.90
permeability_coefficient = 0.50
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS|HEAD
slowdown = 1.0
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
flags = FPRINT | TABLEPASS | ONESIZEFITSALL | STOPSPRESSUREDMAGE
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS | HEAD
max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE
cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS | HEAD
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
canremove = 0
armor = list(melee = 80, bullet = 20, laser = 20, energy = 10, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/shoes/golem
name = "golem's feet"
desc = "sturdy adamantine feet"
icon_state = "golem"
item_state = null
canremove = 0
flags = NOSLIP
slowdown = SHOES_SLOWDOWN+1
/obj/item/clothing/mask/gas/golem
name = "golem's face"
desc = "the imposing face of an adamantine golem"
icon_state = "golem"
item_state = "golem"
canremove = 0
siemens_coefficient = 0
unacidable = 1
/obj/item/clothing/mask/gas/golem
name = "golem's face"
desc = "the imposing face of an adamantine golem"
icon_state = "golem"
item_state = "golem"
canremove = 0
siemens_coefficient = 0
unacidable = 1
/obj/item/clothing/gloves/golem
name = "golem's hands"
desc = "strong adamantine hands"
icon_state = "golem"
item_state = null
siemens_coefficient = 0
canremove = 0
/obj/item/clothing/head/space/golem
icon_state = "golem"
item_state = "dermal"
item_color = "dermal"
name = "golem's head"
desc = "a golem's head"
canremove = 0
unacidable = 1
flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE
heat_protection = HEAD
max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE
armor = list(melee = 80, bullet = 20, laser = 20, energy = 10, bomb = 0, bio = 0, rad = 0)
/obj/effect/golemrune
anchored = 1
desc = "a strange rune used to create golems. It glows when spirits are nearby."

View File

@@ -1,6 +1,6 @@
/mob/living/silicon/gib()
..("gibbed-r")
gibs(loc, viruses, null, null, /obj/effect/gibspawner/robot)
gibs(loc, viruses, null, /obj/effect/gibspawner/robot)
/mob/living/silicon/dust()
..("dust-r", /obj/effect/decal/remains/robot)

View File

@@ -197,6 +197,9 @@
else
..()
/mob/living/simple_animal/gib()
..(icon_gib,1)
/mob/living/simple_animal/emote(var/act, var/type, var/desc)
if(act)
..(act, type, desc)
@@ -263,14 +266,14 @@
return
else if(istype(O, /obj/item/weapon/kitchenknife) || istype(O, /obj/item/weapon/butch))
if(meat_type && (stat == DEAD))
if(meat_amount && (meat_amount/2) >= 1)
for(var/i = 0; i < meat_amount/2; i++)
var/obj/item/meat = new meat_type(get_turf(src))
meat.name = "[src.name] [meat.name]"
var/actual_meat_amount = max(1,(meat_amount/2))
if(meat_type && actual_meat_amount>0 && (stat == DEAD))
for(var/i=0;i<actual_meat_amount;i++)
var/obj/item/meat = new meat_type(get_turf(src))
meat.name = "[src.name] [meat.name]"
if(small)
user.visible_message("<span class='danger'>[user] chops up \the [src]!</span>")
new/obj/effect/decal/cleanable/blood/splatter(get_turf(src))
del(src)
else
user.visible_message("<span class='danger'>[user] butchers \the [src] messily!</span>")

View File

@@ -39,6 +39,7 @@
/obj/item/organ/diona/removed(var/mob/living/target,var/mob/living/user)
..()
var/mob/living/carbon/human/H = target
if(!istype(target))
del(src)
@@ -51,10 +52,10 @@
if(!diona)
del(src)
var/mob/living/carbon/alien/diona/D = new(get_turf(src))
diona.request_player(D)
del(src)
spawn(1) // So it has time to be thrown about by the gib() proc.
var/mob/living/carbon/alien/diona/D = new(get_turf(src))
diona.request_player(D)
del(src)
// These are different to the standard diona organs as they have a purpose in other
// species (absorbing radiation and light respectively)
@@ -221,6 +222,8 @@
icon_state = "brain-prosthetic"
organ_tag = "stack"
robotic = 2
prosthetic_name = null
prosthetic_icon = null
/obj/item/organ/stack/vox
name = "vox cortical stack"

View File

@@ -662,10 +662,9 @@ Note that amputating the affected organ does in fact remove the infection from t
"<span class='moderate'><b>Your [display_name] goes flying off!</b></span>",\
"You hear a terrible sound of ripping tendons and flesh.")
if(organ)
//Throw organs around
var/lol = pick(cardinal)
step(organ,lol)
//Throw organs around
if(istype(owner.loc,/turf) && organ)
step(organ,pick(cardinal))
owner.update_body(1)

View File

@@ -250,6 +250,14 @@
/datum/organ/internal/brain/xeno
removed_type = /obj/item/organ/brain/xeno
/datum/organ/internal/brain/golem
name = "golem chem"
removed_type = /obj/item/organ/brain/golem
/datum/organ/internal/brain/slime
name = "slime core"
removed_type = /obj/item/organ/brain/slime
/datum/organ/internal/eyes
name = "eyes"
parent_organ = "head"
@@ -271,7 +279,13 @@
if(!removed_type) return 0
var/obj/item/organ/removed_organ = new removed_type(get_turf(user))
var/turf/target_loc
if(user)
target_loc = get_turf(user)
else
target_loc = get_turf(owner)
var/obj/item/organ/removed_organ = new removed_type(target_loc)
if(istype(removed_organ))
removed_organ.organ_data = src

View File

@@ -153,10 +153,10 @@
/obj/item/organ/proc/removed(var/mob/living/target,var/mob/living/user)
if(!target || !user)
if(!target)
return
if(organ_data.vital)
if(target && user && organ_data.vital)
user.attack_log += "\[[time_stamp()]\]<font color='red'> removed a vital organ ([src]) from [target.name] ([target.ckey]) (INTENT: [uppertext(user.a_intent)])</font>"
target.attack_log += "\[[time_stamp()]\]<font color='orange'> had a vital organ ([src]) removed by [user.name] ([user.ckey]) (INTENT: [uppertext(user.a_intent)])</font>"
msg_admin_attack("[user.name] ([user.ckey]) removed a vital organ ([src]) from [target.name] ([target.ckey]) (INTENT: [uppertext(user.a_intent)]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)")

View File

@@ -92,7 +92,7 @@
if(istype(user, /mob/living))
var/mob/living/M = user
if (HULK in M.mutations)
M << "\red Your fingers are much too large for the trigger guard!"
M << "<span class='danger'>Your fingers are much too large for the trigger guard!</span>"
return
add_fingerprint(user)

View File

@@ -665,7 +665,7 @@
/obj/item/weapon/reagent_containers/food/snacks/xenomeat
name = "meat"
desc = "A slab of meat"
desc = "A slab of green meat. Smells like acid."
icon_state = "xenomeat"
filling_color = "#43DE18"

View File

@@ -1,6 +1,6 @@
/obj/item/weapon/reagent_containers/food/snacks/meat
name = "meat"
desc = "A slab of meat"
desc = "A slab of meat."
icon_state = "meat"
health = 180
filling_color = "#FF1C1C"
@@ -14,7 +14,7 @@
new /obj/item/weapon/reagent_containers/food/snacks/rawcutlet(src)
new /obj/item/weapon/reagent_containers/food/snacks/rawcutlet(src)
new /obj/item/weapon/reagent_containers/food/snacks/rawcutlet(src)
user << "You cut the meat in thin strips."
user << "You cut the meat into thin strips."
del(src)
else
..()
@@ -32,4 +32,4 @@
/obj/item/weapon/reagent_containers/food/snacks/meat/corgi
name = "Corgi meat"
desc = "Tastes like... well you know..."
desc = "Tastes like... well, you know."