Merge pull request #165 from SkyMarshal/master

Several fixes
This commit is contained in:
CIB
2011-12-28 15:57:10 -08:00
10 changed files with 82 additions and 26 deletions
@@ -0,0 +1,49 @@
/obj/item/weapon/weldpack
name = "Portable welding tank."
desc = "For welding on the go!"
icon_state = "backpack"
w_class = 4.0
flags = 259.0
var/max_fuel = 100
/obj/item/weapon/weldpack/New()
var/datum/reagents/R = new/datum/reagents(100) //5 refills
reagents = R
R.my_atom = src
R.add_reagent("fuel", 100)
/obj/item/weapon/weldpack/attackby(obj/item/W as obj, mob/user as mob)
if(istype(W, /obj/item/weapon/weldingtool)
if(W.welding & prob(15))
message_admins("[key_name_admin(user)] triggered a fueltank explosion.")
log_game("[key_name(user)] triggered a fueltank explosion.")
user << "\red That was stupid of you."
explosion(src.loc,-1,0,2)
if(src)
del(src)
return
else
if(W.welding)
user << "\red That was close!"
src.reagents.trans_to(W, W.max_fuel)
user << "\blue Welder refilled!"
playsound(src.loc, 'refill.ogg', 50, 1, -6)
return
user << "\blue The tank scoffs at your insolence. It only provides services to welders."
return
/obj/item/weapon/weldpack/afterattack(obj/O as obj, mob/user as mob)
if (istype(O, /obj/structure/reagent_dispensers/fueltank) && get_dist(src,O) <= 1 && src.reagents.total_volume < max_fuel)
O.reagents.trans_to(src, max_fuel)
user << "\blue Tank refilled!"
playsound(src.loc, 'refill.ogg', 50, 1, -6)
return
else if (istype(O, /obj/structure/reagent_dispensers/fueltank) && get_dist(src,O) <= 1 && src.reagents.total_volume == max_fuel)
user << "\blue Tank is already full!"
return
/obj/item/weapon/weldpack/examine()
set src in usr
usr << text("\icon[] [] units of fuel left!", src, src.reagents.total_volume)
..()
return
+1
View File
@@ -220,6 +220,7 @@ obj/machinery/computer/forensic_scanning
var/obj/item/weapon/paper/P = new(loc)
P.name = "Scan Data ([scan_name])"
P.info = "<tt>[scan_data]</tt>"
P.overlays += "paper_words"
else
temp = "Print Failed: No Data"
if("erase")
+1 -1
View File
@@ -375,7 +375,7 @@
item_state = "det"
color = "detective"
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
var/obj/item/weapon/gun/projectile/detective/gun
var/obj/item/weapon/gun
/obj/item/clothing/under/scratch
name = "White Suit"
+21 -16
View File
@@ -5,7 +5,7 @@
/datum/game_mode/traitor
name = "traitor"
config_tag = "traitor"
restricted_jobs = list("Cyborg", "AI")//Approved by headmins for a week test, if you see this it would be nice if you didn't spread it everywhere
restricted_jobs = list("Cyborg")//Approved by headmins for a week test, if you see this it would be nice if you didn't spread it everywhere
required_players = 0
required_enemies = 1
@@ -13,7 +13,7 @@
var/const/waittime_h = 1800 //upper bound on time before intercept arrives (in tenths of seconds)
var/traitors_possible = 4 //hard limit on traitors if scaling is turned off
var/const/traitor_scaling_coeff = 5.0 //how much does the amount of players get divided by to determine traitors
var/const/traitor_scaling_coeff = 10.0 //how much does the amount of players get divided by to determine traitors
/datum/game_mode/traitor/announce()
@@ -31,7 +31,7 @@
var/num_traitors = 1
if(config.traitor_scaling)
num_traitors = max(1, round((num_players())/(traitor_scaling_coeff)))
num_traitors = max(1, round((num_players())/(traitor_scaling_coeff)) + 1)
else
num_traitors = max(1, min(num_players(), traitors_possible))
@@ -83,18 +83,23 @@
traitor.objectives += block_objective
else
switch(rand(1,100))
if(1 to 50)
var/datum/objective/assassinate/kill_objective = new
kill_objective.owner = traitor
kill_objective.find_target()
traitor.objectives += kill_objective
else
var/datum/objective/steal/steal_objective = new
steal_objective.owner = traitor
steal_objective.find_target()
traitor.objectives += steal_objective
switch(rand(1,100))
for(var/i = 1, i <= rand(1,3), i++)
switch(rand(1,100))
if(1 to 40)
var/datum/objective/assassinate/kill_objective = new
kill_objective.owner = traitor
kill_objective.find_target()
traitor.objectives += kill_objective
else
var/datum/objective/steal/steal_objective = new
steal_objective.owner = traitor
steal_objective.find_target()
traitor.objectives += steal_objective
if (!(locate(/datum/objective/escape) in traitor.objectives))
var/datum/objective/escape/escape_objective = new
escape_objective.owner = traitor
traitor.objectives += escape_objective
/* switch(rand(1,100))
if(1 to 90)
if (!(locate(/datum/objective/escape) in traitor.objectives))
var/datum/objective/escape/escape_objective = new
@@ -105,7 +110,7 @@
if (!(locate(/datum/objective/hijack) in traitor.objectives))
var/datum/objective/hijack/hijack_objective = new
hijack_objective.owner = traitor
traitor.objectives += hijack_objective
traitor.objectives += hijack_objective*/
return
@@ -57,7 +57,6 @@
new /obj/item/clothing/gloves/hos(src)
new /obj/item/clothing/head/helmet/HoS/dermal(src)
new /obj/item/device/radio/headset/heads/hos(src)
new /obj/item/weapon/shield/riot(src)
new /obj/item/weapon/storage/lockbox/loyalty(src)
new /obj/item/weapon/storage/flashbang_kit(src)
new /obj/item/weapon/storage/belt/security(src)
+2 -1
View File
@@ -44,7 +44,8 @@
menu_message += "<BR>"
menu_message += "<A href='byond://?src=\ref[src];buy_item=imp_freedom'>Freedom Implant (with injector)</A> (3)<BR>"
menu_message += "<A href='byond://?src=\ref[src];buy_item=imp_uplink'>Uplink Implant (5 crystals inside)</A> (10)<BR>"
menu_message += "<A href='byond://?src=\ref[src];buy_item=paralysispen'>Paralysis Pen</A> (3)<BR>" //Note that this goes to the updated sleepypen now.
// menu_message += "<A href='byond://?src=\ref[src];buy_item=paralysispen'>Paralysis Pen</A> (3)<BR>"
//When given the choice, people have been P2W
menu_message += "<A href='byond://?src=\ref[src];buy_item=sleepypen'>Sleepy Pen</A> (4)<BR>" //Terrible -Pete.
menu_message += "<BR>"
menu_message += "<A href='byond://?src=\ref[src];buy_item=detomatix'>Detomatix Cartridge</A> (3)<BR>"
@@ -207,6 +207,7 @@
t1 += "[src.storedinfo[i]]<BR>"
P.info = t1
P.name = "paper- 'Transcript'"
P.overlays += "paper_words"
/obj/item/device/taperecorder/attack_self(mob/user)
+3 -3
View File
@@ -1,5 +1,5 @@
/obj/item/clothing/suit/armor
allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/pepperspray,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs)
allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/pepperspray,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/policetaperoll)
body_parts_covered = UPPER_TORSO|LOWER_TORSO
flags = FPRINT | TABLEPASS
@@ -62,7 +62,7 @@
item_state = "gearharness"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
flags = FPRINT | TABLEPASS | ONESIZEFITSALL
allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/pepperspray,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs)
allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/pepperspray,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/policetaperoll)
/obj/item/clothing/suit/armor/reactive
name = "Reactive Teleport Armor"
@@ -81,7 +81,7 @@
item_state = "armourrigvest"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
flags = FPRINT | TABLEPASS | ONESIZEFITSALL
allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/pepperspray,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs)
allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/pepperspray,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/policetaperoll)
armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
/obj/item/clothing/suit/armor/reactive/IsShield()
+3 -3
View File
@@ -12,7 +12,7 @@
icon_state = "detective"
item_state = "det_suit"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
allowed = list(/obj/item/weapon/tank/emergency_oxygen, /obj/item/device/flashlight,/obj/item/weapon/gun/energy,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/cigpacket,/obj/item/weapon/zippo,/obj/item/device/detective_scanner,/obj/item/device/taperecorder)
allowed = list(/obj/item/weapon/tank/emergency_oxygen, /obj/item/device/flashlight,/obj/item/weapon/gun/energy,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/cigpacket,/obj/item/weapon/zippo,/obj/item/device/detective_scanner,/obj/item/device/taperecorder,/obj/item/policetaperoll)
armor = list(melee = 50, bullet = 10, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0)
@@ -23,7 +23,7 @@
item_state = "armor"
flags = FPRINT | TABLEPASS | ONESIZEFITSALL
body_parts_covered = UPPER_TORSO|LOWER_TORSO
allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs)
allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/policetaperoll)
armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
/obj/item/clothing/under/det/verb/holster()
@@ -32,7 +32,7 @@
set src in usr
if(!gun)
if(istype(usr.get_active_hand(),/obj/item/weapon/gun/projectile/detective))
if(istype(usr.get_active_hand(),/obj/item/weapon/gun/projectile/detective) || istype(usr.get_active_hand(),/obj/item/weapon/gun/energy/stunrevolver))
gun = usr.get_active_hand()
usr.drop_item()
gun.loc = src
+1 -1
View File
@@ -221,7 +221,7 @@
//I see no reason to restrict such way of whispering
if ("whisper")
whisper(message_old)
whisper(copytext(message_old, 3))
return
if ("binary")