mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 02:34:00 +00:00
Merge remote-tracking branch 'upstream/master' into dev
Conflicts: code/__HELPERS/text.dm code/game/machinery/podmen.dm code/game/machinery/vending.dm code/game/objects/items/candle.dm code/game/objects/items/devices/PDA/cart.dm code/modules/clothing/suits/jobs.dm
This commit is contained in:
@@ -476,7 +476,6 @@
|
||||
#include "code\game\objects\items\apc_frame.dm"
|
||||
#include "code\game\objects\items\blueprints.dm"
|
||||
#include "code\game\objects\items\bodybag.dm"
|
||||
#include "code\game\objects\items\candle.dm"
|
||||
#include "code\game\objects\items\contraband.dm"
|
||||
#include "code\game\objects\items\crayons.dm"
|
||||
#include "code\game\objects\items\latexballoon.dm"
|
||||
@@ -531,6 +530,7 @@
|
||||
#include "code\game\objects\items\stacks\tiles\plasteel.dm"
|
||||
#include "code\game\objects\items\stacks\tiles\tile_types.dm"
|
||||
#include "code\game\objects\items\weapons\AI_modules.dm"
|
||||
#include "code\game\objects\items\weapons\candle.dm"
|
||||
#include "code\game\objects\items\weapons\cards_ids.dm"
|
||||
#include "code\game\objects\items\weapons\cigs_lighters.dm"
|
||||
#include "code\game\objects\items\weapons\clown_items.dm"
|
||||
|
||||
@@ -232,7 +232,7 @@
|
||||
var/obj/structure/closet/crate/secure/gear/C = new(src.loc)
|
||||
var/num = rand(2,6)
|
||||
for(var/i=0,i<num,i++)
|
||||
var/spawn_type = pick(/obj/item/device/flashlight/flare, /obj/item/trash/candle, /obj/item/candle/, /obj/item/weapon/storage/box/matches)
|
||||
var/spawn_type = pick(/obj/item/device/flashlight/flare, /obj/item/trash/candle, /obj/item/weapon/flame/candle/, /obj/item/weapon/storage/box/matches)
|
||||
new spawn_type(C)
|
||||
if("engineering")
|
||||
var/obj/structure/closet/crate/secure/gear/C = new(src.loc)
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
/obj/item/ashtray/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if (health < 1)
|
||||
return
|
||||
if (istype(W,/obj/item/weapon/cigbutt) || istype(W,/obj/item/clothing/mask/cigarette) || istype(W, /obj/item/weapon/match))
|
||||
if (istype(W,/obj/item/weapon/cigbutt) || istype(W,/obj/item/clothing/mask/cigarette) || istype(W, /obj/item/weapon/flame/match))
|
||||
if (contents.len >= max_butts)
|
||||
user << "This ashtray is full."
|
||||
return
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
H.equip_to_slot_or_del(CIG, slot_wear_mask)
|
||||
H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves)
|
||||
H.equip_to_slot_or_del(new /obj/item/clothing/suit/det_suit(H), slot_wear_suit)
|
||||
H.equip_to_slot_or_del(new /obj/item/weapon/lighter/zippo(H), slot_l_store)
|
||||
H.equip_to_slot_or_del(new /obj/item/weapon/flame/lighter/zippo(H), slot_l_store)
|
||||
|
||||
H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack)
|
||||
H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/evidence(H), slot_in_backpack)
|
||||
|
||||
@@ -178,10 +178,10 @@
|
||||
post_status(href_list["statdisp"])
|
||||
|
||||
if("setmsg1" in href_list)
|
||||
stat_msg1 = reject_bad_text(input("Line 1", "Enter Message Text", stat_msg1) as text|null, 40)
|
||||
stat_msg1 = reject_bad_text(trim(copytext(sanitize(input("Line 1", "Enter Message Text", stat_msg1) as text|null), 1, 40)), 40)
|
||||
computer.updateDialog()
|
||||
if("setmsg2" in href_list)
|
||||
stat_msg2 = reject_bad_text(input("Line 2", "Enter Message Text", stat_msg2) as text|null, 40)
|
||||
stat_msg2 = reject_bad_text(trim(copytext(sanitize(input("Line 2", "Enter Message Text", stat_msg2) as text|null), 1, 40)), 40)
|
||||
computer.updateDialog()
|
||||
|
||||
// OMG CENTCOMM LETTERHEAD
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
// Run all strings to be used in an SQL query through this proc first to properly escape out injection attempts.
|
||||
/proc/sanitizeSQL(var/t as text)
|
||||
var/sqltext = dbcon.Quote(t);
|
||||
return copytext(sqltext, 2, lentext(sqltext)-1);//Quote() adds quotes around input, we already do that
|
||||
return copytext(sqltext, 2, lentext(sqltext));//Quote() adds quotes around input, we already do that
|
||||
|
||||
/*
|
||||
* Text sanitization
|
||||
|
||||
@@ -1236,12 +1236,12 @@ proc/is_hot(obj/item/W as obj)
|
||||
return 3800
|
||||
else
|
||||
return 0
|
||||
if(/obj/item/weapon/lighter)
|
||||
if(/obj/item/weapon/flame/lighter)
|
||||
if(W:lit)
|
||||
return 1500
|
||||
else
|
||||
return 0
|
||||
if(/obj/item/weapon/match)
|
||||
if(/obj/item/weapon/flame/match)
|
||||
if(W:lit)
|
||||
return 1000
|
||||
else
|
||||
@@ -1282,8 +1282,8 @@ proc/is_hot(obj/item/W as obj)
|
||||
istype(W, /obj/item/weapon/screwdriver) || \
|
||||
istype(W, /obj/item/weapon/pen) || \
|
||||
istype(W, /obj/item/weapon/weldingtool) || \
|
||||
istype(W, /obj/item/weapon/lighter/zippo) || \
|
||||
istype(W, /obj/item/weapon/match) || \
|
||||
istype(W, /obj/item/weapon/flame/lighter/zippo) || \
|
||||
istype(W, /obj/item/weapon/flame/match) || \
|
||||
istype(W, /obj/item/clothing/mask/cigarette) || \
|
||||
istype(W, /obj/item/weapon/shovel) \
|
||||
)
|
||||
|
||||
@@ -80,6 +80,9 @@
|
||||
throw_item(A)
|
||||
return
|
||||
|
||||
if(!istype(A,/obj/item/weapon/gun) && !isturf(A) && !istype(A,/obj/screen))
|
||||
last_target_click = world.time
|
||||
|
||||
var/obj/item/W = get_active_hand()
|
||||
|
||||
if(W == A)
|
||||
|
||||
@@ -115,7 +115,7 @@
|
||||
else
|
||||
H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/det_suit(H), slot_wear_suit)
|
||||
H.equip_to_slot_or_del(new /obj/item/clothing/head/det_hat(H), slot_head)
|
||||
H.equip_to_slot_or_del(new /obj/item/weapon/lighter/zippo(H), slot_l_store)
|
||||
H.equip_to_slot_or_del(new /obj/item/weapon/flame/lighter/zippo(H), slot_l_store)
|
||||
|
||||
if(H.backbag == 1)//Why cant some of these things spawn in his office?
|
||||
H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand)
|
||||
|
||||
@@ -175,10 +175,10 @@
|
||||
post_status(href_list["statdisp"])
|
||||
|
||||
if("setmsg1")
|
||||
stat_msg1 = input("Line 1", "Enter Message Text", stat_msg1) as text|null
|
||||
stat_msg1 = reject_bad_text(trim(copytext(sanitize(input("Line 1", "Enter Message Text", stat_msg1) as text|null), 1, 40)), 40)
|
||||
src.updateDialog()
|
||||
if("setmsg2")
|
||||
stat_msg2 = input("Line 2", "Enter Message Text", stat_msg2) as text|null
|
||||
stat_msg2 = reject_bad_text(trim(copytext(sanitize(input("Line 2", "Enter Message Text", stat_msg2) as text|null), 1, 40)), 40)
|
||||
src.updateDialog()
|
||||
|
||||
// OMG CENTCOMM LETTERHEAD
|
||||
|
||||
@@ -788,10 +788,10 @@
|
||||
product_ads = "Probably not bad for you!;Don't believe the scientists!;It's good for you!;Don't quit, buy more!;Smoke!;Nicotine heaven.;Best cigarettes since 2150.;Award-winning cigs."
|
||||
vend_delay = 34
|
||||
icon_state = "cigs"
|
||||
products = list(/obj/item/weapon/storage/fancy/cigarettes = 10,/obj/item/weapon/storage/box/matches = 10,/obj/item/weapon/lighter/random = 4)
|
||||
contraband = list(/obj/item/weapon/lighter/zippo = 4)
|
||||
products = list(/obj/item/weapon/storage/fancy/cigarettes = 10,/obj/item/weapon/storage/box/matches = 10,/obj/item/weapon/flame/lighter/random = 4)
|
||||
contraband = list(/obj/item/weapon/flame/lighter/zippo = 4)
|
||||
premium = list(/obj/item/weapon/storage/fancy/cigar = 5)
|
||||
prices = list(/obj/item/weapon/storage/fancy/cigarettes = 15,/obj/item/weapon/storage/box/matches = 1,/obj/item/weapon/lighter/random = 2)
|
||||
prices = list(/obj/item/weapon/storage/fancy/cigarettes = 15,/obj/item/weapon/storage/box/matches = 1,/obj/item/weapon/flame/lighter/random = 2)
|
||||
|
||||
|
||||
/obj/machinery/vending/medical
|
||||
|
||||
@@ -721,8 +721,13 @@
|
||||
return 0
|
||||
var/result = 0
|
||||
var/obj/item/stack/sheet/res = new type(src)
|
||||
|
||||
// amount available to take out
|
||||
var/total_amount = round(resources[mat_string]/res.perunit)
|
||||
res.amount = min(total_amount,amount)
|
||||
|
||||
// number of stacks we're going to take out
|
||||
res.amount = round(min(total_amount,amount))
|
||||
|
||||
if(res.amount>0)
|
||||
resources[mat_string] -= res.amount*res.perunit
|
||||
res.Move(src.loc)
|
||||
@@ -783,6 +788,7 @@
|
||||
if(istype(W, /obj/item/weapon/card/emag))
|
||||
emag()
|
||||
return
|
||||
|
||||
var/material
|
||||
switch(W.type)
|
||||
if(/obj/item/stack/sheet/mineral/gold)
|
||||
@@ -805,14 +811,17 @@
|
||||
if(src.being_built)
|
||||
user << "The fabricator is currently processing. Please wait until completion."
|
||||
return
|
||||
|
||||
var/obj/item/stack/sheet/stack = W
|
||||
|
||||
var/sname = "[stack.name]"
|
||||
var/amnt = stack.perunit
|
||||
if(src.resources[material] < res_max_amount)
|
||||
var/count = 0
|
||||
src.overlays += "fab-load-[material]"//loading animation is now an overlay based on material type. No more spontaneous conversion of all ores to metal. -vey
|
||||
sleep(10)
|
||||
if(stack && stack.amount)
|
||||
if(stack && stack.amount >= 1)
|
||||
var/count = 0
|
||||
src.overlays += "fab-load-[material]"//loading animation is now an overlay based on material type. No more spontaneous conversion of all ores to metal. -vey
|
||||
sleep(10)
|
||||
|
||||
while(src.resources[material] < res_max_amount && stack)
|
||||
src.resources[material] += amnt
|
||||
stack.use(1)
|
||||
@@ -820,6 +829,9 @@
|
||||
src.overlays -= "fab-load-[material]"
|
||||
user << "You insert [count] [sname] into the fabricator."
|
||||
src.updateUsrDialog()
|
||||
else
|
||||
user << "The fabricator can only accept full sheets of [sname]."
|
||||
return
|
||||
else
|
||||
user << "The fabricator cannot hold more [sname]."
|
||||
return
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
new /obj/item/weapon/gun/energy/ionrifle(src)
|
||||
new /obj/item/weapon/gun/energy/gun/nuclear(src)
|
||||
new /obj/item/clothing/glasses/thermal(src)
|
||||
new /obj/item/weapon/lighter/zippo(src)
|
||||
new /obj/item/weapon/flame/lighter/zippo(src)
|
||||
new /obj/item/weapon/pinpointer(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -22,6 +22,12 @@
|
||||
return
|
||||
return
|
||||
|
||||
/obj/effect/portal/attack_hand(mob/user as mob)
|
||||
spawn(0)
|
||||
src.teleport(user)
|
||||
return
|
||||
return
|
||||
|
||||
/obj/effect/portal/New()
|
||||
spawn(300)
|
||||
del(src)
|
||||
|
||||
@@ -1,87 +0,0 @@
|
||||
/obj/item/candle
|
||||
name = "red candle"
|
||||
desc = "a candle"
|
||||
icon = 'icons/obj/candle.dmi'
|
||||
icon_state = "candle1"
|
||||
item_state = "candle1"
|
||||
w_class = 1
|
||||
|
||||
var/wax = 2000
|
||||
var/lit = 0
|
||||
proc
|
||||
light(var/flavor_text = "\red [usr] lights the [name].")
|
||||
|
||||
|
||||
update_icon()
|
||||
var/i
|
||||
if(wax>1500)
|
||||
i = 1
|
||||
else if(wax>800)
|
||||
i = 2
|
||||
else i = 3
|
||||
icon_state = "candle[i][lit ? "_lit" : ""]"
|
||||
|
||||
|
||||
attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if(istype(W, /obj/item/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if(WT.isOn()) //Badasses dont get blinded by lighting their candle with a welding tool
|
||||
light("\red [user] casually lights the [name] with [W].")
|
||||
else if(istype(W, /obj/item/weapon/lighter))
|
||||
var/obj/item/weapon/lighter/L = W
|
||||
if(L.lit)
|
||||
light()
|
||||
else if(istype(W, /obj/item/weapon/match))
|
||||
var/obj/item/weapon/match/M = W
|
||||
if(M.lit)
|
||||
light()
|
||||
else if(istype(W, /obj/item/candle))
|
||||
var/obj/item/candle/C = W
|
||||
if(C.lit)
|
||||
light()
|
||||
|
||||
|
||||
light(var/flavor_text = "\red [usr] lights the [name].")
|
||||
if(!src.lit)
|
||||
src.lit = 1
|
||||
//src.damtype = "fire"
|
||||
for(var/mob/O in viewers(usr, null))
|
||||
O.show_message(flavor_text, 1)
|
||||
SetLuminosity(CANDLE_LUM)
|
||||
processing_objects.Add(src)
|
||||
|
||||
|
||||
process()
|
||||
if(!lit)
|
||||
return
|
||||
wax--
|
||||
if(!wax)
|
||||
new/obj/item/trash/candle(src.loc)
|
||||
if(istype(src.loc, /mob))
|
||||
src.dropped()
|
||||
del(src)
|
||||
update_icon()
|
||||
if(istype(loc, /turf)) //start a fire if possible
|
||||
var/turf/T = loc
|
||||
T.hotspot_expose(700, 5)
|
||||
|
||||
|
||||
attack_self(mob/user as mob)
|
||||
if(lit)
|
||||
lit = 0
|
||||
update_icon()
|
||||
SetLuminosity(0)
|
||||
user.SetLuminosity(user.luminosity - CANDLE_LUM)
|
||||
|
||||
|
||||
pickup(mob/user)
|
||||
if(lit)
|
||||
SetLuminosity(0)
|
||||
user.SetLuminosity(user.luminosity + CANDLE_LUM)
|
||||
|
||||
|
||||
dropped(mob/user)
|
||||
if(lit)
|
||||
user.SetLuminosity(user.luminosity - CANDLE_LUM)
|
||||
SetLuminosity(CANDLE_LUM)
|
||||
@@ -583,10 +583,10 @@
|
||||
if("alert")
|
||||
post_status("alert", href_list["alert"])
|
||||
if("setmsg1")
|
||||
message1 = input("Line 1", "Enter Message Text", message1) as text|null
|
||||
message1 = reject_bad_text(trim(copytext(sanitize(input("Line 1", "Enter Message Text", message1) as text|null), 1, 40)), 40)
|
||||
updateSelfDialog()
|
||||
if("setmsg2")
|
||||
message2 = input("Line 2", "Enter Message Text", message2) as text|null
|
||||
message2 = reject_bad_text(trim(copytext(sanitize(input("Line 2", "Enter Message Text", message2) as text|null), 1, 40)), 40)
|
||||
updateSelfDialog()
|
||||
else
|
||||
post_status(href_list["statdisp"])
|
||||
|
||||
83
code/game/objects/items/weapons/candle.dm
Normal file
83
code/game/objects/items/weapons/candle.dm
Normal file
@@ -0,0 +1,83 @@
|
||||
/obj/item/weapon/flame/candle
|
||||
name = "red candle"
|
||||
desc = "a candle"
|
||||
icon = 'icons/obj/candle.dmi'
|
||||
icon_state = "candle1"
|
||||
item_state = "candle1"
|
||||
w_class = 1
|
||||
|
||||
var/wax = 200
|
||||
|
||||
/obj/item/weapon/flame/candle/update_icon()
|
||||
var/i
|
||||
if(wax>150)
|
||||
i = 1
|
||||
else if(wax>80)
|
||||
i = 2
|
||||
else i = 3
|
||||
icon_state = "candle[i][lit ? "_lit" : ""]"
|
||||
|
||||
|
||||
/obj/item/weapon/flame/candle/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if(istype(W, /obj/item/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if(WT.isOn()) //Badasses dont get blinded by lighting their candle with a welding tool
|
||||
light("\red [user] casually lights the [name] with [W].")
|
||||
else if(istype(W, /obj/item/weapon/flame/lighter))
|
||||
var/obj/item/weapon/flame/lighter/L = W
|
||||
if(L.lit)
|
||||
light()
|
||||
else if(istype(W, /obj/item/weapon/flame/match))
|
||||
var/obj/item/weapon/flame/match/M = W
|
||||
if(M.lit)
|
||||
light()
|
||||
else if(istype(W, /obj/item/weapon/flame/candle))
|
||||
var/obj/item/weapon/flame/candle/C = W
|
||||
if(C.lit)
|
||||
light()
|
||||
|
||||
|
||||
/obj/item/weapon/flame/candle/proc/light(var/flavor_text = "\red [usr] lights the [name].")
|
||||
if(!src.lit)
|
||||
src.lit = 1
|
||||
//src.damtype = "fire"
|
||||
for(var/mob/O in viewers(usr, null))
|
||||
O.show_message(flavor_text, 1)
|
||||
SetLuminosity(CANDLE_LUM)
|
||||
processing_objects.Add(src)
|
||||
|
||||
|
||||
/obj/item/weapon/flame/candle/process()
|
||||
if(!lit)
|
||||
return
|
||||
wax--
|
||||
if(!wax)
|
||||
new/obj/item/trash/candle(src.loc)
|
||||
if(istype(src.loc, /mob))
|
||||
src.dropped()
|
||||
del(src)
|
||||
update_icon()
|
||||
if(istype(loc, /turf)) //start a fire if possible
|
||||
var/turf/T = loc
|
||||
T.hotspot_expose(700, 5)
|
||||
|
||||
|
||||
/obj/item/weapon/flame/candle/attack_self(mob/user as mob)
|
||||
if(lit)
|
||||
lit = 0
|
||||
update_icon()
|
||||
SetLuminosity(0)
|
||||
user.SetLuminosity(user.luminosity - CANDLE_LUM)
|
||||
|
||||
|
||||
/obj/item/weapon/flame/candle/pickup(mob/user)
|
||||
if(lit)
|
||||
SetLuminosity(0)
|
||||
user.SetLuminosity(user.luminosity + CANDLE_LUM)
|
||||
|
||||
|
||||
/obj/item/weapon/flame/candle/dropped(mob/user)
|
||||
if(lit)
|
||||
user.SetLuminosity(user.luminosity - CANDLE_LUM)
|
||||
SetLuminosity(CANDLE_LUM)
|
||||
@@ -12,22 +12,25 @@ ZIPPO
|
||||
CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
*/
|
||||
|
||||
//For anything that can light stuff on fire
|
||||
/obj/item/weapon/flame
|
||||
var/lit = 0
|
||||
|
||||
///////////
|
||||
//MATCHES//
|
||||
///////////
|
||||
/obj/item/weapon/match
|
||||
/obj/item/weapon/flame/match
|
||||
name = "match"
|
||||
desc = "A simple match stick, used for lighting fine smokables."
|
||||
icon = 'icons/obj/cigarettes.dmi'
|
||||
icon_state = "match_unlit"
|
||||
var/lit = 0
|
||||
var/burnt = 0
|
||||
var/smoketime = 5
|
||||
w_class = 1.0
|
||||
origin_tech = "materials=1"
|
||||
attack_verb = list("burnt", "singed")
|
||||
|
||||
/obj/item/weapon/match/process()
|
||||
/obj/item/weapon/flame/match/process()
|
||||
var/turf/location = get_turf(src)
|
||||
smoketime--
|
||||
if(smoketime < 1)
|
||||
@@ -37,12 +40,12 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
location.hotspot_expose(700, 5)
|
||||
return
|
||||
|
||||
/obj/item/weapon/match/dropped(mob/user as mob)
|
||||
/obj/item/weapon/flame/match/dropped(mob/user as mob)
|
||||
if(lit)
|
||||
burn_out()
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/match/proc/burn_out()
|
||||
/obj/item/weapon/flame/match/proc/burn_out()
|
||||
lit = 0
|
||||
burnt = 1
|
||||
damtype = "brute"
|
||||
@@ -89,18 +92,18 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
if(WT.isOn())//Badasses dont get blinded while lighting their cig with a welding tool
|
||||
light("<span class='notice'>[user] casually lights the [name] with [W].</span>")
|
||||
|
||||
else if(istype(W, /obj/item/weapon/lighter/zippo))
|
||||
var/obj/item/weapon/lighter/zippo/Z = W
|
||||
else if(istype(W, /obj/item/weapon/flame/lighter/zippo))
|
||||
var/obj/item/weapon/flame/lighter/zippo/Z = W
|
||||
if(Z.lit)
|
||||
light("<span class='rose'>With a flick of their wrist, [user] lights their [name] with their [W].</span>")
|
||||
|
||||
else if(istype(W, /obj/item/weapon/lighter))
|
||||
var/obj/item/weapon/lighter/L = W
|
||||
else if(istype(W, /obj/item/weapon/flame/lighter))
|
||||
var/obj/item/weapon/flame/lighter/L = W
|
||||
if(L.lit)
|
||||
light("<span class='notice'>[user] manages to light their [name] with [W].</span>")
|
||||
|
||||
else if(istype(W, /obj/item/weapon/match))
|
||||
var/obj/item/weapon/match/M = W
|
||||
else if(istype(W, /obj/item/weapon/flame/match))
|
||||
var/obj/item/weapon/flame/match/M = W
|
||||
if(M.lit)
|
||||
light("<span class='notice'>[user] lights their [name] with their [W].</span>")
|
||||
|
||||
@@ -258,18 +261,18 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
if(WT.isOn())
|
||||
light("<span class='notice'>[user] insults [name] by lighting it with [W].</span>")
|
||||
|
||||
else if(istype(W, /obj/item/weapon/lighter/zippo))
|
||||
var/obj/item/weapon/lighter/zippo/Z = W
|
||||
else if(istype(W, /obj/item/weapon/flame/lighter/zippo))
|
||||
var/obj/item/weapon/flame/lighter/zippo/Z = W
|
||||
if(Z.lit)
|
||||
light("<span class='rose'>With a flick of their wrist, [user] lights their [name] with their [W].</span>")
|
||||
|
||||
else if(istype(W, /obj/item/weapon/lighter))
|
||||
var/obj/item/weapon/lighter/L = W
|
||||
else if(istype(W, /obj/item/weapon/flame/lighter))
|
||||
var/obj/item/weapon/flame/lighter/L = W
|
||||
if(L.lit)
|
||||
light("<span class='notice'>[user] manages to offend their [name] by lighting it with [W].</span>")
|
||||
|
||||
else if(istype(W, /obj/item/weapon/match))
|
||||
var/obj/item/weapon/match/M = W
|
||||
else if(istype(W, /obj/item/weapon/flame/match))
|
||||
var/obj/item/weapon/flame/match/M = W
|
||||
if(M.lit)
|
||||
light("<span class='notice'>[user] lights their [name] with their [W].</span>")
|
||||
|
||||
@@ -340,18 +343,18 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
if(WT.isOn())//
|
||||
light("<span class='notice'>[user] recklessly lights [name] with [W].</span>")
|
||||
|
||||
else if(istype(W, /obj/item/weapon/lighter/zippo))
|
||||
var/obj/item/weapon/lighter/zippo/Z = W
|
||||
else if(istype(W, /obj/item/weapon/flame/lighter/zippo))
|
||||
var/obj/item/weapon/flame/lighter/zippo/Z = W
|
||||
if(Z.lit)
|
||||
light("<span class='rose'>With much care, [user] lights their [name] with their [W].</span>")
|
||||
|
||||
else if(istype(W, /obj/item/weapon/lighter))
|
||||
var/obj/item/weapon/lighter/L = W
|
||||
else if(istype(W, /obj/item/weapon/flame/lighter))
|
||||
var/obj/item/weapon/flame/lighter/L = W
|
||||
if(L.lit)
|
||||
light("<span class='notice'>[user] manages to light their [name] with [W].</span>")
|
||||
|
||||
else if(istype(W, /obj/item/weapon/match))
|
||||
var/obj/item/weapon/match/M = W
|
||||
else if(istype(W, /obj/item/weapon/flame/match))
|
||||
var/obj/item/weapon/flame/match/M = W
|
||||
if(M.lit)
|
||||
light("<span class='notice'>[user] lights their [name] with their [W].</span>")
|
||||
|
||||
@@ -372,7 +375,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
/////////
|
||||
//ZIPPO//
|
||||
/////////
|
||||
/obj/item/weapon/lighter
|
||||
/obj/item/weapon/flame/lighter
|
||||
name = "cheap lighter"
|
||||
desc = "A cheap-as-free lighter."
|
||||
icon = 'icons/obj/items.dmi'
|
||||
@@ -385,9 +388,8 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
flags = TABLEPASS | CONDUCT
|
||||
slot_flags = SLOT_BELT
|
||||
attack_verb = list("burnt", "singed")
|
||||
var/lit = 0
|
||||
|
||||
/obj/item/weapon/lighter/zippo
|
||||
/obj/item/weapon/flame/lighter/zippo
|
||||
name = "\improper Zippo lighter"
|
||||
desc = "The zippo."
|
||||
icon_state = "zippo"
|
||||
@@ -395,20 +397,20 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
icon_on = "zippoon"
|
||||
icon_off = "zippo"
|
||||
|
||||
/obj/item/weapon/lighter/random
|
||||
/obj/item/weapon/flame/lighter/random
|
||||
New()
|
||||
var/color = pick("r","c","y","g")
|
||||
icon_on = "lighter-[color]-on"
|
||||
icon_off = "lighter-[color]"
|
||||
icon_state = icon_off
|
||||
|
||||
/obj/item/weapon/lighter/attack_self(mob/living/user)
|
||||
/obj/item/weapon/flame/lighter/attack_self(mob/living/user)
|
||||
if(user.r_hand == src || user.l_hand == src)
|
||||
if(!lit)
|
||||
lit = 1
|
||||
icon_state = icon_on
|
||||
item_state = icon_on
|
||||
if(istype(src, /obj/item/weapon/lighter/zippo) )
|
||||
if(istype(src, /obj/item/weapon/flame/lighter/zippo) )
|
||||
user.visible_message("<span class='rose'>Without even breaking stride, [user] flips open and lights [src] in one smooth movement.</span>")
|
||||
else
|
||||
if(prob(95))
|
||||
@@ -427,7 +429,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
lit = 0
|
||||
icon_state = icon_off
|
||||
item_state = icon_off
|
||||
if(istype(src, /obj/item/weapon/lighter/zippo) )
|
||||
if(istype(src, /obj/item/weapon/flame/lighter/zippo) )
|
||||
user.visible_message("<span class='rose'>You hear a quiet click, as [user] shuts off [src] without even looking at what they're doing.")
|
||||
else
|
||||
user.visible_message("<span class='notice'>[user] quietly shuts off the [src].")
|
||||
@@ -439,7 +441,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
return
|
||||
|
||||
|
||||
/obj/item/weapon/lighter/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
|
||||
/obj/item/weapon/flame/lighter/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
|
||||
if(!istype(M, /mob))
|
||||
return
|
||||
|
||||
@@ -448,28 +450,28 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
if(M == user)
|
||||
cig.attackby(src, user)
|
||||
else
|
||||
if(istype(src, /obj/item/weapon/lighter/zippo))
|
||||
if(istype(src, /obj/item/weapon/flame/lighter/zippo))
|
||||
cig.light("<span class='rose'>[user] whips the [name] out and holds it for [M].</span>")
|
||||
else
|
||||
cig.light("<span class='notice'>[user] holds the [name] out for [M], and lights the [cig.name].</span>")
|
||||
else
|
||||
..()
|
||||
|
||||
/obj/item/weapon/lighter/process()
|
||||
/obj/item/weapon/flame/lighter/process()
|
||||
var/turf/location = get_turf(src)
|
||||
if(location)
|
||||
location.hotspot_expose(700, 5)
|
||||
return
|
||||
|
||||
|
||||
/obj/item/weapon/lighter/pickup(mob/user)
|
||||
/obj/item/weapon/flame/lighter/pickup(mob/user)
|
||||
if(lit)
|
||||
SetLuminosity(0)
|
||||
user.SetLuminosity(user.luminosity+2)
|
||||
return
|
||||
|
||||
|
||||
/obj/item/weapon/lighter/dropped(mob/user)
|
||||
/obj/item/weapon/flame/lighter/dropped(mob/user)
|
||||
if(lit)
|
||||
user.SetLuminosity(user.luminosity-2)
|
||||
SetLuminosity(2)
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
"/obj/item/weapon/reagent_containers/pill",
|
||||
"/obj/item/weapon/reagent_containers/syringe",
|
||||
"/obj/item/weapon/reagent_containers/glass/dispenser",
|
||||
"/obj/item/weapon/lighter/zippo",
|
||||
"/obj/item/weapon/flame/lighter/zippo",
|
||||
"/obj/item/weapon/storage/fancy/cigarettes",
|
||||
"/obj/item/weapon/storage/pill_bottle",
|
||||
"/obj/item/stack/medical",
|
||||
@@ -93,15 +93,14 @@
|
||||
"/obj/item/weapon/reagent_containers/food/snacks/donut/jelly",
|
||||
"/obj/item/weapon/melee/baton",
|
||||
"/obj/item/weapon/gun/energy/taser",
|
||||
"/obj/item/weapon/lighter/zippo",
|
||||
"/obj/item/weapon/flame/lighter/zippo",
|
||||
"/obj/item/weapon/cigpacket",
|
||||
"/obj/item/clothing/glasses/hud/security",
|
||||
"/obj/item/device/flashlight",
|
||||
"/obj/item/device/pda",
|
||||
"/obj/item/device/radio/headset",
|
||||
"/obj/item/weapon/melee",
|
||||
"/obj/item/taperoll/police",
|
||||
"/obj/item/weapon/gun/energy/taser"
|
||||
"/obj/item/taperoll/police"
|
||||
)
|
||||
|
||||
/obj/item/weapon/storage/belt/soulstone
|
||||
@@ -141,24 +140,4 @@
|
||||
item_state = "swatbelt"
|
||||
storage_slots = 9
|
||||
max_w_class = 3
|
||||
max_combined_w_class = 21
|
||||
can_hold = list(
|
||||
"/obj/item/weapon/grenade/flashbang",
|
||||
"/obj/item/weapon/reagent_containers/spray/pepper",
|
||||
"/obj/item/weapon/handcuffs",
|
||||
"/obj/item/device/flash",
|
||||
"/obj/item/clothing/glasses",
|
||||
"/obj/item/ammo_casing/shotgun",
|
||||
"/obj/item/ammo_magazine",
|
||||
"/obj/item/weapon/reagent_containers/food/snacks/donut/normal",
|
||||
"/obj/item/weapon/reagent_containers/food/snacks/donut/jelly",
|
||||
"/obj/item/weapon/melee/baton",
|
||||
"/obj/item/weapon/gun/energy/taser",
|
||||
"/obj/item/weapon/lighter/zippo",
|
||||
"/obj/item/weapon/cigpacket",
|
||||
"/obj/item/clothing/glasses/hud/security",
|
||||
"/obj/item/device/flashlight",
|
||||
"/obj/item/device/pda",
|
||||
"/obj/item/device/radio/headset",
|
||||
"/obj/item/weapon/melee"
|
||||
)
|
||||
max_combined_w_class = 21
|
||||
|
||||
@@ -446,14 +446,14 @@
|
||||
w_class = 1
|
||||
flags = TABLEPASS
|
||||
slot_flags = SLOT_BELT
|
||||
can_hold = list("/obj/item/weapon/match")
|
||||
can_hold = list("/obj/item/weapon/flame/match")
|
||||
|
||||
New()
|
||||
..()
|
||||
for(var/i=1; i <= storage_slots; i++)
|
||||
new /obj/item/weapon/match(src)
|
||||
new /obj/item/weapon/flame/match(src)
|
||||
|
||||
attackby(obj/item/weapon/match/W as obj, mob/user as mob)
|
||||
attackby(obj/item/weapon/flame/match/W as obj, mob/user as mob)
|
||||
if(istype(W) && !W.lit && !W.burnt)
|
||||
W.lit = 1
|
||||
W.damtype = "burn"
|
||||
|
||||
@@ -104,7 +104,7 @@
|
||||
/obj/item/weapon/storage/fancy/candle_box/New()
|
||||
..()
|
||||
for(var/i=1; i <= storage_slots; i++)
|
||||
new /obj/item/candle(src)
|
||||
new /obj/item/weapon/flame/candle(src)
|
||||
return
|
||||
|
||||
/*
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
"/obj/item/weapon/dice",
|
||||
"/obj/item/weapon/disk",
|
||||
"/obj/item/weapon/implanter",
|
||||
"/obj/item/weapon/lighter",
|
||||
"/obj/item/weapon/match",
|
||||
"/obj/item/weapon/flame/lighter",
|
||||
"/obj/item/weapon/flame/match",
|
||||
"/obj/item/weapon/paper",
|
||||
"/obj/item/weapon/pen",
|
||||
"/obj/item/weapon/photo",
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
oxytanks.Add(I)
|
||||
oxygentanks++
|
||||
user << "<span class='notice'>You put [I] in [src].</span>"
|
||||
if(oxygentanks < 5)
|
||||
update_icon()
|
||||
else
|
||||
user << "<span class='notice'>[src] is full.</span>"
|
||||
updateUsrDialog()
|
||||
@@ -61,6 +63,8 @@
|
||||
platanks.Add(I)
|
||||
phorontanks++
|
||||
user << "<span class='notice'>You put [I] in [src].</span>"
|
||||
if(oxygentanks < 6)
|
||||
update_icon()
|
||||
else
|
||||
user << "<span class='notice'>[src] is full.</span>"
|
||||
updateUsrDialog()
|
||||
|
||||
@@ -845,7 +845,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/mask/cigarette/cigar/havana(M), slot_wear_mask)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/deathsquad/beret(M), slot_head)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse_rifle/M1911(M), slot_belt)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/lighter/zippo(M), slot_r_store)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/flame/lighter/zippo(M), slot_r_store)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(M), slot_back)
|
||||
|
||||
var/obj/item/weapon/card/id/W = new(M)
|
||||
|
||||
@@ -227,7 +227,7 @@
|
||||
corpsehelmet = /obj/item/clothing/head/centhat
|
||||
corpsegloves = /obj/item/clothing/gloves/swat
|
||||
corpseshoes = /obj/item/clothing/shoes/swat
|
||||
corpsepocket1 = /obj/item/weapon/lighter/zippo
|
||||
corpsepocket1 = /obj/item/weapon/flame/lighter/zippo
|
||||
corpseid = 1
|
||||
corpseidjob = "Commander"
|
||||
corpseidaccess = "Captain"
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
item_state = "det_suit"
|
||||
blood_overlay_type = "coat"
|
||||
body_parts_covered = UPPER_TORSO|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/storage/fancy/cigarettes,/obj/item/weapon/lighter,/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/storage/fancy/cigarettes,/obj/item/weapon/flame/lighter,/obj/item/device/detective_scanner,/obj/item/device/taperecorder)
|
||||
armor = list(melee = 50, bullet = 10, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0)
|
||||
sprite_sheets = list("Vox" = 'icons/mob/species/vox/suit.dmi')
|
||||
|
||||
|
||||
@@ -216,7 +216,7 @@
|
||||
icon_state = "johann_erzatz_1"
|
||||
volume = 50
|
||||
|
||||
/obj/item/weapon/lighter/zippo/fluff/li_matsuda_1 //mangled: Li Matsuda
|
||||
/obj/item/weapon/flame/lighter/zippo/fluff/li_matsuda_1 //mangled: Li Matsuda
|
||||
name = "blue zippo lighter"
|
||||
desc = "A zippo lighter made of some blue metal."
|
||||
icon = 'icons/obj/custom_items.dmi'
|
||||
@@ -224,7 +224,7 @@
|
||||
icon_on = "bluezippoon"
|
||||
icon_off = "bluezippo"
|
||||
|
||||
/obj/item/weapon/lighter/zippo/fluff/michael_guess_1 //Dragor23: Michael Guess
|
||||
/obj/item/weapon/flame/lighter/zippo/fluff/michael_guess_1 //Dragor23: Michael Guess
|
||||
name = "engraved lighter"
|
||||
desc = "A golden lighter, engraved with some ornaments and a G."
|
||||
icon = 'icons/obj/custom_items.dmi'
|
||||
@@ -234,7 +234,7 @@
|
||||
|
||||
///////////////////////////// Ziepes - Janis Godmanis - Red Zippo //////////////////////
|
||||
|
||||
/obj/item/weapon/lighter/zippo/fluff/janis_godmanis
|
||||
/obj/item/weapon/flame/lighter/zippo/fluff/janis_godmanis
|
||||
name = "Red-White-Red Zippo"
|
||||
desc = "A badass zippo that looks like the Austrian flag. Upon closer inspection it is revealed that it's a different shade of red than the Austrian flag.."
|
||||
icon = 'icons/obj/custom_items.dmi'
|
||||
@@ -244,7 +244,7 @@
|
||||
|
||||
////////////////////////////// Vivallion - Isaac Jachym - Butterfly Lighter ////////////
|
||||
|
||||
/obj/item/weapon/lighter/zippo/fluff/isaac_jachym
|
||||
/obj/item/weapon/flame/lighter/zippo/fluff/isaac_jachym
|
||||
name = "Butterfly lighter"
|
||||
desc = "A custom-made zippo lighter, looks rather expensive. On one of it's sides, a clean inscription has been made, 'Butterfly, what is your wisdom?' And I looked down at it's majestic form, flexing it's wings as if to show it's strength. 'Fuck chechenya.' Had it whispered, before fluttering away, and so we went to war."
|
||||
icon = 'icons/obj/custom_items.dmi'
|
||||
@@ -252,7 +252,7 @@
|
||||
icon_on = "che_zippoon"
|
||||
icon_off = "che_zippo"
|
||||
|
||||
/obj/item/weapon/lighter/zippo/fluff/riley_rohtin_1 //rawrtaicho: Riley Rohtin
|
||||
/obj/item/weapon/flame/lighter/zippo/fluff/riley_rohtin_1 //rawrtaicho: Riley Rohtin
|
||||
name = "Riley's black zippo"
|
||||
desc = "A black zippo lighter, which holds some form of sentimental value."
|
||||
icon = 'icons/obj/custom_items.dmi'
|
||||
@@ -260,7 +260,7 @@
|
||||
icon_on = "blackzippoon"
|
||||
icon_off = "blackzippo"
|
||||
|
||||
/obj/item/weapon/lighter/zippo/fluff/fay_sullivan_1 //furohman: Fay Sullivan
|
||||
/obj/item/weapon/flame/lighter/zippo/fluff/fay_sullivan_1 //furohman: Fay Sullivan
|
||||
name = "Graduation Lighter"
|
||||
desc = "A silver engraved lighter with 41 on one side and Tharsis University on the other. The lid reads Fay Sullivan, Cybernetic Engineering, 2541"
|
||||
icon = 'icons/obj/custom_items.dmi'
|
||||
@@ -268,7 +268,7 @@
|
||||
icon_on = "gradzippoon"
|
||||
icon_off = "gradzippo"
|
||||
|
||||
/obj/item/weapon/lighter/zippo/fluff/executivekill_1 //executivekill: Hunter Duke
|
||||
/obj/item/weapon/flame/lighter/zippo/fluff/executivekill_1 //executivekill: Hunter Duke
|
||||
name = "Gonzo Fist zippo"
|
||||
desc = "A Zippo lighter with the iconic Gonzo Fist on a matte black finish."
|
||||
icon = 'icons/obj/custom_items.dmi'
|
||||
@@ -276,7 +276,7 @@
|
||||
icon_on = "gonzozippoon"
|
||||
icon_off = "gonzozippo"
|
||||
|
||||
/obj/item/weapon/lighter/zippo/fluff/naples_1 //naples: Russell Vierson
|
||||
/obj/item/weapon/flame/lighter/zippo/fluff/naples_1 //naples: Russell Vierson
|
||||
name = "Engraved zippo"
|
||||
desc = "A intricately engraved Zippo lighter."
|
||||
icon = 'icons/obj/custom_items.dmi'
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
new/obj/item/weapon/reagent_containers/food/drinks/bottle/rum(src)
|
||||
new/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus(src)
|
||||
new/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey(src)
|
||||
new/obj/item/weapon/lighter/zippo(src)
|
||||
new/obj/item/weapon/flame/lighter/zippo(src)
|
||||
if(2)
|
||||
new/obj/item/weapon/pickaxe/drill(src)
|
||||
new/obj/item/device/taperecorder(src)
|
||||
|
||||
@@ -299,7 +299,7 @@
|
||||
|
||||
src.modules += new /obj/item/weapon/reagent_containers/robodropper(src)
|
||||
|
||||
var/obj/item/weapon/lighter/zippo/L = new /obj/item/weapon/lighter/zippo(src)
|
||||
var/obj/item/weapon/flame/lighter/zippo/L = new /obj/item/weapon/flame/lighter/zippo(src)
|
||||
L.lit = 1
|
||||
src.modules += L
|
||||
|
||||
|
||||
@@ -444,6 +444,19 @@ datum/preferences
|
||||
clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-tox"), ICON_OVERLAY)
|
||||
if(4)
|
||||
clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY)
|
||||
if(XENOBIOLOGIST)
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "sciencewhite_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_tox_open"), ICON_OVERLAY)
|
||||
if(prob(1))
|
||||
clothes_s.Blend(new /icon('icons/mob/head.dmi', "metroid"), ICON_OVERLAY)
|
||||
switch(backbag)
|
||||
if(2)
|
||||
clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY)
|
||||
if(3)
|
||||
clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-tox"), ICON_OVERLAY)
|
||||
if(4)
|
||||
clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY)
|
||||
if(CHEMIST)
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "chemistrywhite_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
|
||||
|
||||
@@ -277,11 +277,11 @@
|
||||
\[hr\] : Adds a horizontal rule.
|
||||
</BODY></HTML>"}, "window=paper_help")
|
||||
|
||||
/obj/item/weapon/paper/proc/burnpaper(obj/item/weapon/lighter/P, mob/user)
|
||||
/obj/item/weapon/paper/proc/burnpaper(obj/item/weapon/flame/P, mob/user)
|
||||
var/class = "<span class='warning'>"
|
||||
|
||||
if(P.lit && !user.restrained())
|
||||
if(istype(P, /obj/item/weapon/lighter/zippo))
|
||||
if(istype(P, /obj/item/weapon/flame/lighter/zippo))
|
||||
class = "<span class='rose'>"
|
||||
|
||||
user.visible_message("[class][user] holds \the [P] up to \the [src], it looks like \he's trying to burn it!", \
|
||||
@@ -445,7 +445,7 @@
|
||||
|
||||
user << "<span class='notice'>You stamp the paper with your rubber stamp.</span>"
|
||||
|
||||
else if(istype(P, /obj/item/weapon/lighter))
|
||||
else if(istype(P, /obj/item/weapon/flame))
|
||||
burnpaper(P, user)
|
||||
|
||||
add_fingerprint(user)
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
user << "<span class='notice'>You add [(W.name == "photo") ? "the photo" : W.name] to [(src.name == "paper bundle") ? "the paper bundle" : src.name].</span>"
|
||||
user.drop_from_inventory(W)
|
||||
W.loc = src
|
||||
else if(istype(W, /obj/item/weapon/lighter))
|
||||
else if(istype(W, /obj/item/weapon/flame/lighter))
|
||||
burnpaper(W, user)
|
||||
else if(istype(W, /obj/item/weapon/paper_bundle))
|
||||
user.drop_from_inventory(W)
|
||||
@@ -69,11 +69,11 @@
|
||||
return
|
||||
|
||||
|
||||
/obj/item/weapon/paper_bundle/proc/burnpaper(obj/item/weapon/lighter/P, mob/user)
|
||||
/obj/item/weapon/paper_bundle/proc/burnpaper(obj/item/weapon/flame/lighter/P, mob/user)
|
||||
var/class = "<span class='warning'>"
|
||||
|
||||
if(P.lit && !user.restrained())
|
||||
if(istype(P, /obj/item/weapon/lighter/zippo))
|
||||
if(istype(P, /obj/item/weapon/flame/lighter/zippo))
|
||||
class = "<span class='rose'>"
|
||||
|
||||
user.visible_message("[class][user] holds \the [P] up to \the [src], it looks like \he's trying to burn it!", \
|
||||
|
||||
@@ -54,8 +54,7 @@
|
||||
/obj/item/weapon/handcuffs,\
|
||||
/obj/item/weapon/hemostat,\
|
||||
/obj/item/weapon/kitchenknife,\
|
||||
/obj/item/weapon/lighter,\
|
||||
/obj/item/weapon/lighter,\
|
||||
/obj/item/weapon/flame/lighter,\
|
||||
/obj/item/weapon/light/bulb,\
|
||||
/obj/item/weapon/light/tube,\
|
||||
/obj/item/weapon/pickaxe,\
|
||||
|
||||
@@ -282,9 +282,8 @@ var/list/valid_secondary_effect_types = list(\
|
||||
if(secondary_effect && secondary_effect.trigger == TRIGGER_ENERGY && prob(25))
|
||||
secondary_effect.ToggleActivate(0)
|
||||
|
||||
else if (istype(W,/obj/item/weapon/match) && W:lit ||\
|
||||
istype(W,/obj/item/weapon/weldingtool) && W:welding ||\
|
||||
istype(W,/obj/item/weapon/lighter) && W:lit)
|
||||
else if (istype(W,/obj/item/weapon/flame) && W:lit ||\
|
||||
istype(W,/obj/item/weapon/weldingtool) && W:welding)
|
||||
if(my_effect.trigger == TRIGGER_HEAT)
|
||||
my_effect.ToggleActivate()
|
||||
if(secondary_effect && secondary_effect.trigger == TRIGGER_HEAT && prob(25))
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
/datum/artifact_effect/cellcharge
|
||||
effecttype = "cellcharge"
|
||||
effect_type = 3
|
||||
var/last_message
|
||||
|
||||
/datum/artifact_effect/cellcharge/DoEffectTouch(var/mob/user)
|
||||
if(user)
|
||||
@@ -21,10 +22,12 @@
|
||||
B.charge += 25
|
||||
for (var/obj/machinery/power/smes/S in range (src.effectrange,src))
|
||||
S.charge += 25
|
||||
for (var/mob/living/silicon/robot/M in mob_list)
|
||||
for (var/mob/living/silicon/robot/M in range(50, T))
|
||||
for (var/obj/item/weapon/cell/D in M.contents)
|
||||
D.charge += 25
|
||||
M << "\blue SYSTEM ALERT: Energy boost detected!"
|
||||
if(world.time - last_message > 200)
|
||||
M << "\blue SYSTEM ALERT: Energy boost detected!"
|
||||
last_message = world.time
|
||||
return 1
|
||||
|
||||
/datum/artifact_effect/cellcharge/DoEffectPulse()
|
||||
@@ -35,8 +38,10 @@
|
||||
B.charge += rand() * 100
|
||||
for (var/obj/machinery/power/smes/S in range (src.effectrange,src))
|
||||
S.charge += 250
|
||||
for (var/mob/living/silicon/robot/M in mob_list)
|
||||
for (var/mob/living/silicon/robot/M in range(100, T))
|
||||
for (var/obj/item/weapon/cell/D in M.contents)
|
||||
D.charge += rand() * 100
|
||||
M << "\blue SYSTEM ALERT: Energy boost detected!"
|
||||
if(world.time - last_message > 200)
|
||||
M << "\blue SYSTEM ALERT: Energy boost detected!"
|
||||
last_message = world.time
|
||||
return 1
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
/datum/artifact_effect/celldrain
|
||||
effecttype = "celldrain"
|
||||
effect_type = 3
|
||||
var/last_message
|
||||
|
||||
/datum/artifact_effect/celldrain/DoEffectTouch(var/mob/user)
|
||||
if(user)
|
||||
@@ -23,10 +24,12 @@
|
||||
B.charge = max(B.charge - 50,0)
|
||||
for (var/obj/machinery/power/smes/S in range (src.effectrange,src))
|
||||
S.charge = max(S.charge - 100,0)
|
||||
for (var/mob/living/silicon/robot/M in mob_list)
|
||||
for (var/mob/living/silicon/robot/M in range(50, T))
|
||||
for (var/obj/item/weapon/cell/D in M.contents)
|
||||
D.charge = max(D.charge - 50,0)
|
||||
M << "\red SYSTEM ALERT: Energy drain detected!"
|
||||
if(world.time - last_message > 200)
|
||||
M << "\red SYSTEM ALERT: Energy drain detected!"
|
||||
last_message = world.time
|
||||
return 1
|
||||
|
||||
/datum/artifact_effect/celldrain/DoEffectPulse()
|
||||
@@ -37,8 +40,10 @@
|
||||
B.charge = max(B.charge - rand() * 150,0)
|
||||
for (var/obj/machinery/power/smes/S in range (src.effectrange,src))
|
||||
S.charge = max(S.charge - 250,0)
|
||||
for (var/mob/living/silicon/robot/M in mob_list)
|
||||
for (var/mob/living/silicon/robot/M in range(100, T))
|
||||
for (var/obj/item/weapon/cell/D in M.contents)
|
||||
D.charge = max(D.charge - rand() * 150,0)
|
||||
M << "\red SYSTEM ALERT: Energy drain detected!"
|
||||
if(world.time - last_message > 200)
|
||||
M << "\red SYSTEM ALERT: Energy drain detected!"
|
||||
last_message = world.time
|
||||
return 1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
|
||||
/datum/artifact_effect/roboheal
|
||||
effecttype = "roboheal"
|
||||
var/last_message
|
||||
|
||||
/datum/artifact_effect/roboheal/New()
|
||||
..()
|
||||
@@ -19,8 +20,9 @@
|
||||
if(holder)
|
||||
var/turf/T = get_turf(holder)
|
||||
for (var/mob/living/silicon/robot/M in range(src.effectrange,T))
|
||||
if(prob(10))
|
||||
if(world.time - last_message > 200)
|
||||
M << "\blue SYSTEM ALERT: Beneficial energy field detected!"
|
||||
last_message = world.time
|
||||
M.adjustBruteLoss(-1)
|
||||
M.adjustFireLoss(-1)
|
||||
M.updatehealth()
|
||||
@@ -30,7 +32,9 @@
|
||||
if(holder)
|
||||
var/turf/T = get_turf(holder)
|
||||
for (var/mob/living/silicon/robot/M in range(src.effectrange,T))
|
||||
M << "\blue SYSTEM ALERT: Structural damage has been repaired by energy pulse!"
|
||||
if(world.time - last_message > 200)
|
||||
M << "\blue SYSTEM ALERT: Structural damage has been repaired by energy pulse!"
|
||||
last_message = world.time
|
||||
M.adjustBruteLoss(-10)
|
||||
M.adjustFireLoss(-10)
|
||||
M.updatehealth()
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
|
||||
/datum/artifact_effect/robohurt
|
||||
effecttype = "robohurt"
|
||||
var/last_message
|
||||
|
||||
/datum/artifact_effect/robohurt/New()
|
||||
..()
|
||||
@@ -19,7 +20,9 @@
|
||||
if(holder)
|
||||
var/turf/T = get_turf(holder)
|
||||
for (var/mob/living/silicon/robot/M in range(src.effectrange,T))
|
||||
if(prob(10)) M << "\red SYSTEM ALERT: Harmful energy field detected!"
|
||||
if(world.time - last_message > 200)
|
||||
M << "\red SYSTEM ALERT: Harmful energy field detected!"
|
||||
last_message = world.time
|
||||
M.adjustBruteLoss(1)
|
||||
M.adjustFireLoss(1)
|
||||
M.updatehealth()
|
||||
@@ -29,7 +32,9 @@
|
||||
if(holder)
|
||||
var/turf/T = get_turf(holder)
|
||||
for (var/mob/living/silicon/robot/M in range(src.effectrange,T))
|
||||
M << "\red SYSTEM ALERT: Structural damage inflicted by energy pulse!"
|
||||
if(world.time - last_message > 200)
|
||||
M << "\red SYSTEM ALERT: Structural damage inflicted by energy pulse!"
|
||||
last_message = world.time
|
||||
M.adjustBruteLoss(10)
|
||||
M.adjustFireLoss(10)
|
||||
M.updatehealth()
|
||||
|
||||
@@ -194,7 +194,7 @@
|
||||
"There appear to be [pick("dark red","dark purple","dark green","dark blue")] stains along part of it")]."
|
||||
if(10)
|
||||
item_type = "[pick("cylinder","tank","chamber")]"
|
||||
new_item = new /obj/item/weapon/lighter(src.loc)
|
||||
new_item = new /obj/item/weapon/flame/lighter(src.loc)
|
||||
additional_desc = "There is a tiny device attached."
|
||||
if(prob(30))
|
||||
apply_image_decorations = 1
|
||||
|
||||
@@ -111,7 +111,7 @@
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/cautery = 100, \
|
||||
/obj/item/clothing/mask/cigarette = 75, \
|
||||
/obj/item/weapon/lighter = 50, \
|
||||
/obj/item/weapon/flame/lighter = 50, \
|
||||
/obj/item/weapon/weldingtool = 25
|
||||
)
|
||||
|
||||
|
||||
@@ -104,7 +104,7 @@
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/cautery = 100, \
|
||||
/obj/item/clothing/mask/cigarette = 75, \
|
||||
/obj/item/weapon/lighter = 50, \
|
||||
/obj/item/weapon/flame/lighter = 50, \
|
||||
/obj/item/weapon/weldingtool = 25
|
||||
)
|
||||
|
||||
|
||||
@@ -237,7 +237,7 @@
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/cautery = 100, \
|
||||
/obj/item/clothing/mask/cigarette = 75, \
|
||||
/obj/item/weapon/lighter = 50, \
|
||||
/obj/item/weapon/flame/lighter = 50, \
|
||||
/obj/item/weapon/weldingtool = 25
|
||||
)
|
||||
|
||||
|
||||
@@ -120,7 +120,7 @@
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/cautery = 100, \
|
||||
/obj/item/clothing/mask/cigarette = 75, \
|
||||
/obj/item/weapon/lighter = 50, \
|
||||
/obj/item/weapon/flame/lighter = 50, \
|
||||
/obj/item/weapon/weldingtool = 25
|
||||
)
|
||||
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/cautery = 100, \
|
||||
/obj/item/clothing/mask/cigarette = 75, \
|
||||
/obj/item/weapon/lighter = 50, \
|
||||
/obj/item/weapon/flame/lighter = 50, \
|
||||
/obj/item/weapon/weldingtool = 25
|
||||
)
|
||||
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/cautery = 100, \
|
||||
/obj/item/clothing/mask/cigarette = 75, \
|
||||
/obj/item/weapon/lighter = 50, \
|
||||
/obj/item/weapon/flame/lighter = 50, \
|
||||
/obj/item/weapon/weldingtool = 25
|
||||
)
|
||||
|
||||
|
||||
@@ -162,7 +162,7 @@
|
||||
prize.name = "electronic blink toy game"
|
||||
prize.desc = "Blink. Blink. Blink."
|
||||
if(3)
|
||||
prize = new /obj/item/weapon/lighter/zippo( prize_location )
|
||||
prize = new /obj/item/weapon/flame/lighter/zippo( prize_location )
|
||||
prize.name = "Burno Lighter"
|
||||
prize.desc = "Almost like a decent lighter!"
|
||||
if(4)
|
||||
|
||||
@@ -167,12 +167,21 @@ should be listed in the changelog upon commit though. Thanks. -->
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class='commit sansserif'>
|
||||
<h2 class='date'>31 August 2014</h2>
|
||||
<h3 class='author'>Whitellama updated:</h3>
|
||||
<ul class='changes bgimages16'>
|
||||
<li class='bugfix'>Matches and candles can be used to burn papers, too.</li>
|
||||
<li class='bugfix'>Observers have a bit more time (20 seconds, instead of 7.5) before the Diona join prompt disappears.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class='commit sansserif'>
|
||||
<h2 class='date'>2 August 2014</h2>
|
||||
<h3 class='author'>Whitellama updated:</h3>
|
||||
<ul class='changes bgimages16'>
|
||||
<li class='bugfix'>Arcane tomes can now be stored on bookshelves.</li>
|
||||
<li class='bugfix'>Dionaea players no longer crash on death, and now properly nymphs properly.</li>
|
||||
<li class='bugfix'>Dionaea players no longer crash on death, and now become nymphs properly.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -347,6 +356,31 @@ should be listed in the changelog upon commit though. Thanks. -->
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class='commit sansserif'>
|
||||
<h2 class='date'>6 Mai 2014</h2>
|
||||
<h3 class='author'>Hubble updated:</h3>
|
||||
<ul class='changes bgimages16'>
|
||||
<li class='rscadd'>Clip papers together by hitting a paper with a paper or photo</li>
|
||||
<li class='imageadd'>Adds icons for copied stamps</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class='commit sansserif'>
|
||||
<h2 class='date'>23 Mai 2014</h2>
|
||||
<h3 class='author'>Hubble updated:</h3>
|
||||
<ul class='changes bgimages16'>
|
||||
<li class='rscadd'>Personal lockers are now resettable</li>
|
||||
<li class='rscadd'>Take off people's accessories or change their sensors in the drag and drop-interface</li>
|
||||
<li class='rscadd'>Merge paper bundles by hitting one with another</li>
|
||||
<li class='tweak'>Line breaks in Security, Medical and Employment Records</li>
|
||||
<li class='tweak'>Record printouts will have names on it</li>
|
||||
<li class='tweak'>Set other people's internals in belt and suit storage slots</li>
|
||||
<li class='bugfix'>No longer changing suit sensors while cuffed</li>
|
||||
<li class='bugfix'>No longer emptying other people's pockets when they are not full yet</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='commit sansserif'>
|
||||
<h2 class='date'>6 Mai 2014</h2>
|
||||
<h3 class='author'>Hubble updated:</h3>
|
||||
@@ -372,6 +406,19 @@ should be listed in the changelog upon commit though. Thanks. -->
|
||||
|
||||
|
||||
|
||||
<div class='commit sansserif'>
|
||||
<h2 class='date'>28 мая 2014</h2>
|
||||
<h3 class='author'>Chinsky updated:</h3>
|
||||
<ul class='changes bgimages16'>
|
||||
<li class='rscadd'>Adds few new paperBBcode tags, to make up for HTML removal.</li>
|
||||
<li class='rscadd'>[logo] tag draws NT logo image (one from wiki).</li>
|
||||
<li class='rscadd'>[table] [/table] tags mark borders of tables. [grid] [/grid] are borderless tables, useful of making layouts. Inside tables following tags are used: [row] marks beginning of new table row, [cell] - beginning of new table cell.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class='commit sansserif'>
|
||||
|
||||
|
||||
|
||||
<div class='commit sansserif'>
|
||||
<h2 class='date'>28 мая 2014</h2>
|
||||
<h3 class='author'>Chinsky updated:</h3>
|
||||
|
||||
11060
maps/tgstation2.dmm
11060
maps/tgstation2.dmm
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user