Merge pull request #904 from Erthilo/TGUpdates

TG Updates up to r3077
This commit is contained in:
SkyMarshal
2012-04-21 21:26:20 -07:00
47 changed files with 994 additions and 208 deletions

View File

@@ -768,10 +768,10 @@ datum
on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M:adjustToxLoss(0.2)
M.take_organ_damage(0, 1)
M:adjustToxLoss(1)
..()
return
reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)
if(!istype(M, /mob/living))
return //wooo more runtime fixin
@@ -782,17 +782,21 @@ datum
M << "\red Your mask melts away!"
return
if(M:head)
del (M:head)
M << "\red Your helmet melts into uselessness!"
if(prob(15))
del(M:head)
M << "\red Your helmet melts from the acid!"
else
M << "\red Your helmet protects you from the acid!"
return
var/datum/organ/external/head/affecting = M:get_organ("head")
affecting.disfigured = 1
affecting.take_damage(35, 0)
affecting.take_damage(15, 0)
M:UpdateDamageIcon()
M:emote("scream")
M << "\red Your face has become disfigured!"
M.real_name = "Unknown"
M.warn_flavor_changed()
if(prob(15))
M << "\red Your face has become disfigured!"
M.real_name = "Unknown"
M.warn_flavor_changed()
affecting.disfigured = 1
else
if(istype(M, /mob/living/carbon/monkey) && M:wear_mask)
del (M:wear_mask)
@@ -802,13 +806,14 @@ datum
else
if(istype(M, /mob/living/carbon/human))
var/datum/organ/external/head/affecting = M:get_organ("head")
affecting.disfigured = 1
affecting.take_damage(30, 0)
affecting.take_damage(15, 0)
M:UpdateDamageIcon()
M:emote("scream")
M << "\red Your face has become disfigured!"
M.real_name = "Unknown"
M.warn_flavor_changed()
if(prob(15))
M << "\red Your face has become disfigured!"
M.real_name = "Unknown"
M.warn_flavor_changed()
affecting.disfigured = 1
else
M.take_organ_damage(min(15, volume * 4))

View File

@@ -1,11 +1,11 @@
/obj/item/clothing/head/rabbitears
name = "Rabbit Ears"
name = "rabbit ears"
desc = "Wearing these makes you looks useless, and only good for your sex appeal."
icon_state = "bunny"
flags = FPRINT | TABLEPASS
/obj/item/clothing/head/kitty
name = "Kitty Ears"
name = "kitty ears"
desc = "A pair of kitty ears. Meow!"
icon_state = "kitty"
flags = FPRINT | TABLEPASS
@@ -37,12 +37,12 @@
color = "rainbow"
/obj/item/clothing/mask/owl_mask
name = "Owl mask"
name = "owl mask"
desc = "Twoooo!"
icon_state = "owl"
/obj/item/clothing/under/owl
name = "Owl uniform"
name = "owl uniform"
desc = "A jumpsuit with owl wings. Photorealistic owl feathers! Twooooo!"
icon_state = "owl"
color = "owl"
@@ -71,6 +71,7 @@
item_state = "death"
flags = FPRINT | TABLEPASS | CONDUCT
fire_resist = T0C+5200
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
/*/obj/item/clothing/under/nazi1
name = "Nazi uniform"
@@ -80,24 +81,29 @@
/obj/item/clothing/suit/greatcoat
name = "great coat"
desc = "A Nazi great coat."
desc = "A Nazi great coat"
icon_state = "nazi"
item_state = "nazi"
flags = FPRINT | TABLEPASS
/obj/item/clothing/under/johnny
name = "Johnny~~"
name = "johnny~~ jumpsuit"
desc = "Johnny~~"
icon_state = "johnny"
color = "johnny"
/obj/item/clothing/suit/johnny_coat
name = "Johnny~~"
name = "johnny~~ coat"
desc = "Johnny~~"
icon_state = "johnny"
item_state = "johnny"
flags = FPRINT | TABLEPASS
/obj/item/clothing/suit/ianshirt
name = "worn shirt"
desc = "A worn out, curiously comfortable t-shirt with a picture of Ian. You wouldn't go so far as to say it feels like being hugged when you wear it but it's pretty close. Good for sleeping in."
icon_state = "ianshirt"
item_state = "ianshirt"
/obj/item/clothing/under/rainbow
name = "rainbow"
@@ -215,42 +221,42 @@
item_state = "headset" // lol
/obj/item/clothing/under/gimmick/rank/captain/suit
name = "Captain's Suit"
name = "captain's suit"
desc = "A green suit and yellow necktie. Exemplifies authority."
icon_state = "green_suit"
item_state = "dg_suit"
color = "green_suit"
/obj/item/clothing/under/gimmick/rank/head_of_personnel/suit
name = "Head of Personnel's Suit"
name = "head of personnel's suit"
desc = "A teal suit and yellow necktie. An authoritative yet tacky ensemble."
icon_state = "teal_suit"
item_state = "g_suit"
color = "teal_suit"
/obj/item/clothing/under/suit_jacket
name = "Black Suit"
name = "black suit"
desc = "A black suit and red tie. Very formal."
icon_state = "black_suit"
item_state = "bl_suit"
color = "black_suit"
/obj/item/clothing/under/suit_jacket/really_black
name = "Executive Suit"
name = "executive suit"
desc = "A formal black suit and red tie, intended for the station's finest."
icon_state = "really_black_suit"
item_state = "bl_suit"
color = "black_suit"
/obj/item/clothing/under/suit_jacket/red
name = "Red Suit"
name = "red suit"
desc = "A red suit and blue tie. Somewhat formal."
icon_state = "red_suit"
item_state = "r_suit"
color = "red_suit"
/obj/item/clothing/under/blackskirt
name = "Black skirt"
name = "black skirt"
desc = "A black skirt, very fancy!"
icon_state = "blackskirt"
color = "blackskirt"
@@ -263,13 +269,13 @@
item_state = "schoolgirl"
color = "schoolgirl"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
/*
/obj/item/clothing/under/gimmick/rank/police
name = "Police Uniform"
name = "police uniform"
desc = "Move along, nothing to see here."
icon_state = "police"
item_state = "b_suit"
color = "police"
color = "police" */ //No Sprite - Shiftyeyesshady
/obj/item/clothing/head/flatcap
name = "flat cap"
@@ -278,7 +284,7 @@
item_state = "detective"
/obj/item/clothing/under/overalls
name = "Laborer's Overalls"
name = "laborer's overalls"
desc = "A set of durable overalls for getting the job done."
icon_state = "overalls"
item_state = "lb_suit"
@@ -294,7 +300,7 @@
force = 10
/obj/item/clothing/under/pirate
name = "Pirate Outfit"
name = "pirate outfit"
desc = "Yarr."
icon_state = "pirate"
item_state = "pirate"
@@ -326,6 +332,7 @@
icon_state = "hgpirate"
item_state = "hgpirate"
flags = FPRINT | TABLEPASS
flags_inv = HIDEJUMPSUIT
/obj/item/clothing/glasses/eyepatch
name = "eyepatch"
@@ -358,119 +365,120 @@
desc = "Perfect for winter in Siberia, da?"
icon_state = "ushankadown"
item_state = "ushankadown"
flags_inv = HIDEEARS
/obj/item/clothing/head/collectable //Hat Station 13
name = "Collectable Hat"
name = "collectable hat"
desc = "A rare collectable hat."
/obj/item/clothing/head/collectable/petehat
name = "Ultra Rare! Pete's Hat!"
name = "ultra rare Pete's hat!"
desc = "It smells faintly of plasma"
icon_state = "petehat"
/obj/item/clothing/head/collectable/metroid
name = "Collectable Metroid Cap!"
name = "collectable metroid cap!"
desc = "It just latches right in place!"
icon_state = "metroid"
/obj/item/clothing/head/collectable/xenom
name = "Collectable Xenomorph Helmet!"
name = "collectable xenomorph helmet!"
desc = "Hiss hiss hiss!"
icon_state = "xenom"
/obj/item/clothing/head/collectable/chef
name = "Collectable Chef's Hat"
name = "collectable chef's hat"
desc = "A rare Chef's Hat meant for hat collectors!"
icon_state = "chef"
item_state = "chef"
/obj/item/clothing/head/collectable/paper
name = "Collectable Paper Hat"
name = "collectable paper hat"
desc = "What looks like an ordinary paper hat, is actually a rare and valuable collector's edition paper hat. Keep away from water, fire and Librarians."
icon_state = "paper"
/obj/item/clothing/head/collectable/tophat
name = "Collectable Top Hat"
name = "collectable top hat"
desc = "A top hat worn by only the most prestigious hat collectors."
icon_state = "tophat"
item_state = "that"
/obj/item/clothing/head/collectable/captain
name = "Collectable Captain's Hat"
name = "collectable captain's hat"
desc = "A Collectable Hat that'll make you look just like a real comdom!"
icon_state = "captain"
item_state = "caphat"
/obj/item/clothing/head/collectable/police
name = "Collectable Police Officer's Hat"
name = "collectable police officer's hat"
desc = "A Collectable Police Officer's Hat. This hat emphasizes that you are THE LAW."
icon_state = "policehelm"
/obj/item/clothing/head/collectable/beret
name = "Collectable Beret"
desc = "A Collectable red beret. It smells faintly of garlic."
name = "collectable beret"
desc = "A Collectable red Beret. It smells faintly of Garlic."
icon_state = "beret"
/obj/item/clothing/head/collectable/welding
name = "Collectable Welding Helmet"
name = "collectable welding helmet"
desc = "A Collectable Welding Helmet. Now with 80% less lead! Not for actual welding. Any welding done while wearing this Helmet is done so at the owner's own risk!"
icon_state = "welding"
item_state = "welding"
/obj/item/clothing/head/collectable/slime
name = "Collectable Slime Hat"
name = "collectable slime hat"
desc = "Just like a real Brain Slug!"
icon_state = "headslime"
item_state = "headslime"
/obj/item/clothing/head/collectable/flatcap
name = "Collectable Flat Cap"
name = "collectable flat cap"
desc = "A Collectible farmer's Flat Cap!"
icon_state = "flat_cap"
item_state = "detective"
/obj/item/clothing/head/collectable/pirate
name = "Collectable Pirate Hat"
name = "collectable pirate hat"
desc = "You'd make a great Dread Syndie Roberts!"
icon_state = "pirate"
item_state = "pirate"
/obj/item/clothing/head/collectable/kitty
name = "Collectable Kitty Ears"
name = "collectable kitty ears"
desc = "The fur feels.....a bit too realistic."
icon_state = "kitty"
item_state = "kitty"
/obj/item/clothing/head/collectable/rabbitears
name = "Collectable Rabbit Ears"
name = "collectable rabbit ears"
desc = "Not as lucky as the feet!"
icon_state = "bunny"
item_state = "bunny"
/obj/item/clothing/head/collectable/wizard
name = "Collectable Wizard's Hat"
name = "collectable wizard's hat"
desc = "NOTE:Any magical powers gained from wearing this hat are purely coincidental."
icon_state = "wizard"
/obj/item/clothing/head/collectable/hardhat
name = "Collectable Hard Hat"
name = "collectable hard hat"
desc = "WARNING! Offers no real protection, or luminosity, but it is damn fancy!"
icon_state = "hardhat0_yellow"
item_state = "hardhat0_yellow"
/obj/item/clothing/head/collectable/HoS
name = "Collectable HoS Hat"
name = "collectable HoS hat"
desc = "Now you can beat prisoners, set silly sentences and arrest for no reason too!"
icon_state = "hoscap"
/obj/item/clothing/head/collectable/thunderdome
name = "Collectable Thunderdome helmet"
name = "collectable Thunderdome helmet"
desc = "Go Red! I mean Green! I mean Red! No Green!"
icon_state = "thunderdome"
item_state = "thunderdome"
/obj/item/clothing/head/collectable/swat
name = "Collectable SWAT Helmet"
name = "collectable SWAT helmet"
desc = "Now you can be in the Deathsquad too!"
icon_state = "swat"
item_state = "swat"
@@ -504,7 +512,7 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO|FEET
/obj/item/clothing/under/sexymime
name = "Sexy mime outfit"
name = "sexy mime outfit"
desc = "The only time when you DON'T enjoy looking at someone's rack."
icon_state = "sexymime"
item_state = "sexymime"
@@ -519,7 +527,7 @@
flags = FPRINT | TABLEPASS
/obj/item/clothing/head/justice
name = "Justice Hat"
name = "justice hat"
desc = "Fight for what's righteous!"
icon_state = "justicered"
item_state = "justicered"
@@ -542,11 +550,12 @@
item_state = "justicepink"
obj/item/clothing/suit/justice
name = "Justice Suit"
name = "justice suit"
desc = "This pretty much looks ridiculous."
icon_state = "justice"
item_state = "justice"
flags = FPRINT | TABLEPASS
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
/obj/item/clothing/under/gladiator
name = "gladiator uniform"
@@ -561,7 +570,8 @@ obj/item/clothing/suit/justice
desc = "Ave, Imperator, morituri te salutant."
icon_state = "gladiator"
flags = FPRINT|TABLEPASS|SUITSPACE|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR
item_state="gladiator"
item_state = "gladiator"
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES
//stylish new hats

View File

@@ -29,12 +29,12 @@
if(ismob(AM))
var/mob/tmob = AM
if(istype(tmob, /mob/living/carbon/human) && tmob.mutations & FAT)
/*if(prob(70))
for(var/mob/M in viewers(src, null))
if(M.client)
M << "\red <B>[src] fails to push [tmob]'s fat ass out of the way.</B>"
/*
if(prob(70))
src << "\red <B>You fail to push [tmob]'s fat ass out of the way.</B>"
now_pushing = 0
return*/
return
*/
if(tmob.nopush)
now_pushing = 0
return

View File

@@ -97,13 +97,16 @@
now_pushing = 1
if(ismob(AM))
var/mob/tmob = AM
/*if(istype(tmob, /mob/living/carbon/human) && tmob.mutations & FAT)
/*
if(istype(tmob, /mob/living/carbon/human) && tmob.mutations & FAT)
if(prob(70))
for(var/mob/M in viewers(src, null))
if(M.client)
M << "\red <B>[src] fails to push [tmob]'s fat ass out of the way.</B>"
usr << "\red <B>You fail to push [tmob]'s fat ass out of the way.</B>"
now_pushing = 0
return*/
return
*/
if(tmob.nopush)
now_pushing = 0
return
tmob.LAssailant = src
now_pushing = 0

View File

@@ -106,6 +106,7 @@
if (sprite == "Non-Humanoid")
src.icon_state = "surgeon"
modtype = "Med"
nopush = 1
channels = list("Medical" = 1)
if("Security")
@@ -262,16 +263,18 @@
if ((!( yes ) || now_pushing))
return
now_pushing = 1
/*if(ismob(AM))
if(ismob(AM))
var/mob/tmob = AM
/*
if(istype(tmob, /mob/living/carbon/human) && tmob.mutations & FAT)
if(prob(20))
for(var/mob/M in viewers(src, null))
if(M.client)
M << M << "\red <B>[src] fails to push [tmob]'s fat ass out of the way.</B>"
usr << "\red <B>You fail to push [tmob]'s fat ass out of the way.</B>"
now_pushing = 0
//unlock_medal("That's No Moon, That's A Gourmand!", 1)
return*/
return
*/
if(tmob.nopush)
now_pushing = 0
return
now_pushing = 0
..()
if (istype(AM, /obj/machinery/recharge_station))

View File

@@ -21,6 +21,7 @@
max_co2 = 0
max_tox = 0
speed = -1
stop_automated_movement = 1
Life()

View File

@@ -126,6 +126,10 @@
if(istype(W, /obj/item/weapon/wirecutters))
if(power_switch)
user << "\red This piece of cable is tied to a power switch. Flip the switch to remove it."
return
if (shock(user, 50))
return

View File

@@ -527,3 +527,19 @@ var/global/list/uneatable = list(
target << "\red <b>NAR-SIE HUNGERS FOR YOUR SOUL</b>"
else
target << "\red <b>NAR-SIE HAS CHOSEN YOU TO LEAD HIM TO HIS NEXT MEAL</b>"
/obj/machinery/singularity/narsie/wizard
grav_pull = 0
eat()
set background = 1
if(defer_powernet_rebuild != 2)
defer_powernet_rebuild = 1
for(var/atom/movable/X in orange(consume_range,src))
consume(X)
for(var/turf/X in orange(consume_range,src))
consume(X)
if(defer_powernet_rebuild != 2)
defer_powernet_rebuild = 0
return

View File

@@ -0,0 +1,84 @@
//This is a power switch. When turned on it looks at the cables around the tile that it's on and notes which cables are trying to connect to it.
//After it knows this it creates the number of cables from the center to each of the cables attempting to conenct. These cables cannot be removed
//with wirecutters. When the switch is turned off it removes all the cables on the tile it's on.
//The switch uses a 5s delay to prevent powernet change spamming.
/obj/structure/powerswitch
name = "power switch"
desc = "A switch that controls power."
icon = 'power.dmi'
icon_state = "switch-dbl-up"
var/icon_state_on = "switch-dbl-down"
var/icon_state_off = "switch-dbl-up"
flags = FPRINT
density = 0
anchored = 1
var/on = 0 //up is off, down is on
var/busy = 0 //set to 1 when you start pulling
simple
icon_state = "switch-up"
icon_state_on = "switch-down"
icon_state_off = "switch-up"
examine()
..()
if(on)
usr << "The switch is in the on position"
else
usr << "The switch is in the off position"
attack_ai(mob/user)
user << "\red You're an AI. This is a manual switch. It's not going to work."
return
attack_hand(mob/user)
if(busy)
user << "\red This switch is already being toggled."
return
..()
busy = 1
for(var/mob/O in viewers(user))
O.show_message(text("\red [user] started pulling the [src]."), 1)
if(do_after(user, 50))
set_state(!on)
for(var/mob/O in viewers(user))
O.show_message(text("\red [user] flipped the [src] into the [on ? "on": "off"] position."), 1)
busy = 0
proc/set_state(var/state)
on = state
if(on)
icon_state = icon_state_on
var/list/connection_dirs = list()
for(var/direction in list(1,2,4,8,5,6,9,10))
for(var/obj/structure/cable/C in get_step(src,direction))
if(C.d1 == turn(direction, 180) || C.d2 == turn(direction, 180))
connection_dirs += direction
break
for(var/direction in connection_dirs)
var/obj/structure/cable/C = new/obj/structure/cable(src.loc)
C.d1 = 0
C.d2 = direction
C.icon_state = "[C.d1]-[C.d2]"
C.power_switch = src
var/datum/powernet/PN = new()
PN.number = powernets.len + 1
powernets += PN
C.netnum = PN.number
PN.cables += C
C.mergeConnectedNetworks(C.d2)
C.mergeConnectedNetworksOnTurf()
else
icon_state = icon_state_off
for(var/obj/structure/cable/C in src.loc)
del(C)

View File

@@ -525,6 +525,7 @@ datum
build_path = "/obj/item/weapon/aiModule/tyrant"
///////////////////////////////////
/////Subspace Telecomms////////////
///////////////////////////////////
@@ -794,13 +795,13 @@ datum
req_tech = list("magnets" = 3, "programming" = 3, "engineering" = 3)
build_path = "/obj/item/mecha_parts/mecha_equipment/repair_droid"
mech_generator
mech_plasma_generator
name = "Exosuit Module Design (Plasma Converter Module)"
desc = "Exosuit-mounted plasma converter."
id = "mech_plasma_generator"
build_type = MECHFAB
req_tech = list("plasmatech" = 2, "powerstorage"= 2, "engineering" = 2)
build_path = "/obj/item/mecha_parts/mecha_equipment/generator"
build_path = "/obj/item/mecha_parts/mecha_equipment/plasma_generator"
mech_energy_relay
name = "Exosuit Module Design (Tesla Energy Relay)"