diff --git a/code/ATMOSPHERICS/components/unary/vent_pump.dm b/code/ATMOSPHERICS/components/unary/vent_pump.dm index 3388cfd9667..2b151f04136 100644 --- a/code/ATMOSPHERICS/components/unary/vent_pump.dm +++ b/code/ATMOSPHERICS/components/unary/vent_pump.dm @@ -252,11 +252,12 @@ return attackby(obj/item/W, mob/user) - if(istype(W, /obj/item/weapon/weldingtool) && W:welding) - if (W:remove_fuel(0,user)) - W:welding = 2 + if(istype(W, /obj/item/weapon/weldingtool)) + var/obj/item/weapon/weldingtool/WT = W + if (WT.remove_fuel(0,user)) user << "\blue Now welding the vent." if(do_after(user, 20)) + if(!src || !WT.isOn()) return playsound(src.loc, 'Welder2.ogg', 50, 1) if(!welded) user.visible_message("[user] welds the vent shut.", "You weld the vent shut.", "You hear welding.") @@ -266,7 +267,8 @@ user.visible_message("[user] unwelds the vent.", "You unweld the vent.", "You hear welding.") welded = 0 update_icon() - W:welding = 1 + else + user << "\blue The welding tool needs to be on to start this task." else user << "\blue You need more welding fuel to complete this task." return 1 diff --git a/code/WorkInProgress/buildmode.dm b/code/WorkInProgress/buildmode.dm index ba17008a53b..28550759b29 100644 --- a/code/WorkInProgress/buildmode.dm +++ b/code/WorkInProgress/buildmode.dm @@ -6,7 +6,7 @@ log_admin("[key_name(usr)] has left build mode.") M.client.buildmode = 0 M.client.show_popup_menus = 1 - for(var/obj/bmode/buildholder/H) + for(var/obj/effect/bmode/buildholder/H) if(H.cl == M.client) del(H) else @@ -14,14 +14,14 @@ M.client.buildmode = 1 M.client.show_popup_menus = 0 - var/obj/bmode/buildholder/H = new/obj/bmode/buildholder() - var/obj/bmode/builddir/A = new/obj/bmode/builddir(H) + var/obj/effect/bmode/buildholder/H = new/obj/effect/bmode/buildholder() + var/obj/effect/bmode/builddir/A = new/obj/effect/bmode/builddir(H) A.master = H - var/obj/bmode/buildhelp/B = new/obj/bmode/buildhelp(H) + var/obj/effect/bmode/buildhelp/B = new/obj/effect/bmode/buildhelp(H) B.master = H - var/obj/bmode/buildmode/C = new/obj/bmode/buildmode(H) + var/obj/effect/bmode/buildmode/C = new/obj/effect/bmode/buildmode(H) C.master = H - var/obj/bmode/buildquit/D = new/obj/bmode/buildquit(H) + var/obj/effect/bmode/buildquit/D = new/obj/effect/bmode/buildquit(H) D.master = H H.builddir = A @@ -34,15 +34,15 @@ M.client.screen += D H.cl = M.client -/obj/bmode//Cleaning up the tree a bit +/obj/effect/bmode//Cleaning up the tree a bit density = 1 anchored = 1 layer = 20 dir = NORTH icon = 'buildmode.dmi' - var/obj/bmode/buildholder/master = null + var/obj/effect/bmode/buildholder/master = null -/obj/bmode/builddir +/obj/effect/bmode/builddir icon_state = "build" screen_loc = "NORTH,WEST" Click() @@ -59,7 +59,7 @@ dir = NORTH return -/obj/bmode/buildhelp +/obj/effect/bmode/buildhelp icon = 'buildmode.dmi' icon_state = "buildhelp" screen_loc = "NORTH,WEST+1" @@ -97,24 +97,24 @@ usr << "\blue ***********************************************************" return -/obj/bmode/buildquit +/obj/effect/bmode/buildquit icon_state = "buildquit" screen_loc = "NORTH,WEST+3" Click() togglebuildmode(master.cl.mob) -/obj/bmode/buildholder +/obj/effect/bmode/buildholder density = 0 anchored = 1 var/client/cl = null - var/obj/bmode/builddir/builddir = null - var/obj/bmode/buildhelp/buildhelp = null - var/obj/bmode/buildmode/buildmode = null - var/obj/bmode/buildquit/buildquit = null + var/obj/effect/bmode/builddir/builddir = null + var/obj/effect/bmode/buildhelp/buildhelp = null + var/obj/effect/bmode/buildmode/buildmode = null + var/obj/effect/bmode/buildquit/buildquit = null var/atom/movable/throw_atom = null -/obj/bmode/buildmode +/obj/effect/bmode/buildmode icon_state = "buildmode1" screen_loc = "NORTH,WEST+2" var/varholder = "name" @@ -173,8 +173,8 @@ /proc/build_click(var/mob/user, buildmode, location, control, params, var/obj/object) - var/obj/bmode/buildholder/holder = null - for(var/obj/bmode/buildholder/H) + var/obj/effect/bmode/buildholder/holder = null + for(var/obj/effect/bmode/buildholder/H) if(H.cl == user.client) holder = H break diff --git a/code/WorkInProgress/organs/organs.dm b/code/WorkInProgress/organs/organs.dm index 607a22e4338..e712f8a7a35 100644 --- a/code/WorkInProgress/organs/organs.dm +++ b/code/WorkInProgress/organs/organs.dm @@ -1,18 +1,18 @@ -/obj/organstructure //used obj for the "contents" var +/obj/effect/organstructure //used obj for the "contents" var name = "organs" var/species = "mob" //for speaking in unknown languages purposes - var/obj/organ/limb/arms/arms = null - var/obj/organ/limb/legs/legs = null - var/obj/organ/torso/torso = null - var/obj/organ/head/head = null + var/obj/effect/organ/limb/arms/arms = null + var/obj/effect/organ/limb/legs/legs = null + var/obj/effect/organ/torso/torso = null + var/obj/effect/organ/head/head = null proc/GetSpeciesName() var/list/speciesPresent = list() - for(var/obj/organ/organ in src) //only external organs count, since it's judging by the appearance + for(var/obj/effect/organ/organ in src) //only external organs count, since it's judging by the appearance if(speciesPresent[organ.species]) speciesPresent[organ.species]++ else @@ -39,10 +39,10 @@ proc/RecalculateStructure() var/list/organs = GetAllContents() - arms = locate(/obj/organ/limb/arms) in organs - legs = locate(/obj/organ/limb/legs) in organs - torso = locate(/obj/organ/torso) in organs - head = locate(/obj/organ/head) in organs + arms = locate(/obj/effect/organ/limb/arms) in organs + legs = locate(/obj/effect/organ/limb/legs) in organs + torso = locate(/obj/effect/organ/torso) in organs + head = locate(/obj/effect/organ/head) in organs GetSpeciesName() @@ -52,8 +52,7 @@ set background = 1 var/list/organs = GetAllContents() - for(var/name in organs) - var/obj/organ/organ = organs[name] + for(var/obj/effect/organ/organ in organs) organ.ProcessOrgan() return @@ -62,27 +61,27 @@ ..() RecalculateStructure() -/obj/organstructure/human +/obj/effect/organstructure/human name = "human organs" New() - new /obj/organ/torso/human(src) + new /obj/effect/organ/torso/human(src) ..() -/obj/organstructure/alien +/obj/effect/organstructure/alien name = "alien organs" New() - new /obj/organ/torso/alien(src) + new /obj/effect/organ/torso/alien(src) ..() -/obj/organ +/obj/effect/organ name = "organ" //All types var/organType = 0 //CYBER and SPELL go here var/species = "mob" - var/obj/organstructure/rootOrganStructure = null + var/obj/effect/organstructure/rootOrganStructure = null New(location) ..() @@ -90,129 +89,129 @@ rootOrganStructure = FindRootStructure() proc/FindRootStructure() - if(istype(loc,/obj/organ)) - var/obj/organ/parent = loc + if(istype(loc,/obj/effect/organ)) + var/obj/effect/organ/parent = loc return parent.FindRootStructure() - else if(istype(loc,/obj/organstructure)) + else if(istype(loc,/obj/effect/organstructure)) return loc return null proc/ProcessOrgan() return -/obj/organ/torso +/obj/effect/organ/torso name = "torso" var/maxHealth = 50 //right now, the mob's (only humans for now) health depends only on it. Will be fixed later -/obj/organ/torso/human +/obj/effect/organ/torso/human name = "human torso" species = "human" maxHealth = 100 New() ..() - new /obj/organ/limb/arms/human(src) - new /obj/organ/limb/legs/human(src) - new /obj/organ/head/human(src) -/obj/organ/torso/alien + new /obj/effect/organ/limb/arms/human(src) + new /obj/effect/organ/limb/legs/human(src) + new /obj/effect/organ/head/human(src) +/obj/effect/organ/torso/alien name = "alien torso" species = "alien" maxHealth = 100 New() ..() - new /obj/organ/limb/arms/alien(src) - new /obj/organ/limb/legs/alien(src) - new /obj/organ/head/alien(src) + new /obj/effect/organ/limb/arms/alien(src) + new /obj/effect/organ/limb/legs/alien(src) + new /obj/effect/organ/head/alien(src) -/obj/organ/limb +/obj/effect/organ/limb name = "limb" -/obj/organ/limb/arms +/obj/effect/organ/limb/arms name = "arms" var/minDamage = 5 //punching damage var/maxDamage = 5 -/obj/organ/limb/arms/alien +/obj/effect/organ/limb/arms/alien name = "alien arms" species = "alien" minDamage = 5 maxDamage = 15 -/obj/organ/limb/arms/human +/obj/effect/organ/limb/arms/human name = "human arms" species = "human" minDamage = 1 maxDamage = 9 -/obj/organ/limb/legs +/obj/effect/organ/limb/legs name = "legs" -/obj/organ/limb/legs/human +/obj/effect/organ/limb/legs/human name = "human legs" species = "human" -/obj/organ/limb/legs/alien +/obj/effect/organ/limb/legs/alien name = "alien legs" species = "alien" -/obj/organ/head +/obj/effect/organ/head name = "head" -/obj/organ/head/human +/obj/effect/organ/head/human name = "human head" species = "human" -/obj/organ/head/alien +/obj/effect/organ/head/alien name = "alien head" species = "alien" -/obj/organ/limb/arms/alien +/obj/effect/organ/limb/arms/alien name = "alien arms" species = "alien" minDamage = 5 maxDamage = 15 -/obj/organ/limb/legs/alien +/obj/effect/organ/limb/legs/alien name = "alien legs" species = "alien" -/obj/organ/head/alien +/obj/effect/organ/head/alien name = "alien head" species = "alien" // ++++STUB ORGAN STRUCTURE. THIS IS THE DEFAULT STRUCTURE. USED TO PREVENT EXCEPTIONS++++ -/obj/organstructure/stub +/obj/effect/organstructure/stub name = "stub organs" New() - new /obj/organ/torso/stub(src) + new /obj/effect/organ/torso/stub(src) ..() -/obj/organ/torso/stub +/obj/effect/organ/torso/stub name = "stub torso" species = "stub" maxHealth = 100 New() ..() - new /obj/organ/limb/arms/stub(src) - new /obj/organ/limb/legs/stub(src) - new /obj/organ/head/stub(src) + new /obj/effect/organ/limb/arms/stub(src) + new /obj/effect/organ/limb/legs/stub(src) + new /obj/effect/organ/head/stub(src) -/obj/organ/limb/arms/stub +/obj/effect/organ/limb/arms/stub name = "stub arms" species = "stub" -/obj/organ/limb/legs/stub +/obj/effect/organ/limb/legs/stub name = "stub legs" species = "stub" -/obj/organ/head/stub +/obj/effect/organ/head/stub name = "stub head" species = "stub" @@ -221,129 +220,129 @@ // ++++MONKEY++++ -/obj/organstructure/monkey +/obj/effect/organstructure/monkey name = "monkey organs" New() - new /obj/organ/torso/monkey(src) + new /obj/effect/organ/torso/monkey(src) ..() -/obj/organ/torso/monkey +/obj/effect/organ/torso/monkey name = "monkey torso" species = "monkey" maxHealth = 100 New() ..() - new /obj/organ/limb/arms/monkey(src) - new /obj/organ/limb/legs/monkey(src) - new /obj/organ/head/monkey(src) + new /obj/effect/organ/limb/arms/monkey(src) + new /obj/effect/organ/limb/legs/monkey(src) + new /obj/effect/organ/head/monkey(src) -/obj/organ/limb/arms/monkey +/obj/effect/organ/limb/arms/monkey name = "monkey arms" species = "monkey" -/obj/organ/limb/legs/monkey +/obj/effect/organ/limb/legs/monkey name = "monkey legs" species = "monkey" -/obj/organ/head/monkey +/obj/effect/organ/head/monkey name = "monkey head" species = "monkey" // +++++CYBORG+++++ -/obj/organstructure/cyborg +/obj/effect/organstructure/cyborg name = "cyborg organs" New() - new /obj/organ/torso/cyborg(src) + new /obj/effect/organ/torso/cyborg(src) ..() -/obj/organ/torso/cyborg +/obj/effect/organ/torso/cyborg name = "cyborg torso" species = "cyborg" maxHealth = 100 New() ..() - new /obj/organ/limb/arms/cyborg(src) - new /obj/organ/limb/legs/cyborg(src) - new /obj/organ/head/cyborg(src) + new /obj/effect/organ/limb/arms/cyborg(src) + new /obj/effect/organ/limb/legs/cyborg(src) + new /obj/effect/organ/head/cyborg(src) -/obj/organ/limb/arms/cyborg +/obj/effect/organ/limb/arms/cyborg name = "cyborg arms" species = "cyborg" -/obj/organ/limb/legs/cyborg +/obj/effect/organ/limb/legs/cyborg name = "cyborg legs" species = "cyborg" -/obj/organ/head/cyborg +/obj/effect/organ/head/cyborg name = "cyborg head" species = "cyborg" // +++++AI++++++ -/obj/organstructure/AI +/obj/effect/organstructure/AI name = "AI organs" New() - new /obj/organ/torso/AI(src) + new /obj/effect/organ/torso/AI(src) ..() -/obj/organ/torso/AI +/obj/effect/organ/torso/AI name = "AI torso" species = "AI" maxHealth = 100 New() ..() - new /obj/organ/limb/arms/AI(src) - new /obj/organ/limb/legs/AI(src) - new /obj/organ/head/AI(src) + new /obj/effect/organ/limb/arms/AI(src) + new /obj/effect/organ/limb/legs/AI(src) + new /obj/effect/organ/head/AI(src) -/obj/organ/limb/arms/AI +/obj/effect/organ/limb/arms/AI name = "AI arms" species = "AI" -/obj/organ/limb/legs/AI +/obj/effect/organ/limb/legs/AI name = "AI legs" species = "AI" -/obj/organ/head/AI +/obj/effect/organ/head/AI name = "AI head" species = "AI" /* New organ structure template -/obj/organstructure/template +/obj/effect/organstructure/template name = "template organs" New() - new /obj/organ/torso/template(src) + new /obj/effect/organ/torso/template(src) ..() -/obj/organ/torso/template +/obj/effect/organ/torso/template name = "template torso" species = "template" maxHealth = 100 New() ..() - new /obj/organ/limb/arms/template(src) - new /obj/organ/limb/legs/template(src) - new /obj/organ/head/template(src) + new /obj/effect/organ/limb/arms/template(src) + new /obj/effect/organ/limb/legs/template(src) + new /obj/effect/organ/head/template(src) -/obj/organ/limb/arms/template +/obj/effect/organ/limb/arms/template name = "template arms" species = "template" -/obj/organ/limb/legs/template +/obj/effect/organ/limb/legs/template name = "template legs" species = "template" -/obj/organ/head/template +/obj/effect/organ/head/template name = "template head" species = "template" diff --git a/code/datums/helper_datums/tension.dm b/code/datums/helper_datums/tension.dm index a4002f6590a..f9242cfbeef 100644 --- a/code/datums/helper_datums/tension.dm +++ b/code/datums/helper_datums/tension.dm @@ -626,31 +626,14 @@ var/global/datum/tension/tension_master //Generates a list of commandos from active ghosts. Then the user picks which characters to respawn as the commandos. -/* - for(var/obj/debug/debugger/B in world) - B.list1 = list() - B.list2 = list() - B.list3 = list() - B.list4 = list() -*/ for(var/mob/dead/observer/G in world) -/* - for(var/obj/debug/debugger/B in world) - B.list1 += G - B.list2 += G.key -*/ spawn(0) switch(alert(G,"Do you wish to be considered for an elite syndicate strike team being sent in?","Please answer in 30 seconds!","Yes","No")) if("Yes") if((world.time-time_passed)>300)//If more than 30 game seconds passed. return candidates += G - /* - for(var/obj/debug/debugger/B in world) - B.list3 += G - B.list4 += G.key - */ if("No") return sleep(300) @@ -660,19 +643,7 @@ var/global/datum/tension/tension_master candidates.Remove(G) if(candidates.len) - /* - for(var/obj/debug/debugger/B in world) - B.var1 = candidates.len - B.list5 = candidates.Copy() - for(var/mob/dead/observer/G in candidates) - B.list6 += G.key - - */ var/numagents = 6 -/* - for(var/obj/debug/debugger/B in world) - B.var2 = 0 -*/ //Spawns commandos and equips them. for (var/obj/effect/landmark/L in world) if(numagents<=0) @@ -685,18 +656,10 @@ var/global/datum/tension/tension_master while((!theghost || !theghost.client) && candidates.len) - /* - for(var/obj/debug/debugger/B in world) - B.var2++ - */ theghost = pick(candidates) candidates.Remove(theghost) if(!theghost) - /* - for(var/obj/debug/debugger/B in world) - B.var4 = 1 - */ del(new_syndicate_commando) break diff --git a/code/defines/global.dm b/code/defines/global.dm index fcfd7761978..be2c232e8fa 100644 --- a/code/defines/global.dm +++ b/code/defines/global.dm @@ -1,6 +1,6 @@ -//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 +//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31 -var/global/obj/datacore/data_core = null +var/global/obj/effect/datacore/data_core = null var/global/obj/effect/overlay/plmaster = null var/global/obj/effect/overlay/slmaster = null @@ -80,7 +80,7 @@ var/aliens_allowed = 1 var/ooc_allowed = 1 var/dooc_allowed = 1 var/traitor_scaling = 1 -var/goonsay_allowed = 0 +//var/goonsay_allowed = 0 var/dna_ident = 1 var/abandon_allowed = 1 var/enter_allowed = 1 diff --git a/code/defines/obj.dm b/code/defines/obj.dm index 5f52016dd92..21122adf877 100644 --- a/code/defines/obj.dm +++ b/code/defines/obj.dm @@ -102,7 +102,7 @@ anchored = 1.0 unacidable = 1 -/obj/datacore +/obj/effect/datacore name = "datacore" var/medical[] = list() var/general[] = list() @@ -1526,27 +1526,6 @@ desc = "You can't resist." // name = "" - - -/obj/debug/debugger - name = "Quantum Debugger" - desc = "A quantum debugger used by Centcomm Reality Engineers to help monitor transiant variables." - icon = 'stationobjs.dmi' - icon_state = "blackbox" - - var/list/list1 = list() - var/list/list2 = list() - var/list/list3 = list() - var/list/list4 = list() - var/list/list5 = list() - var/list/list6 = list() - - var/var1 = null - var/var2 = null - var/var3 = null - var/var4 = null - var/var5 = null - /obj/item/rubberduck name = "rubber duck" desc = "A rubber duck. Quack." diff --git a/code/defines/turf.dm b/code/defines/turf.dm index c0756e3d4d2..3d9befcfba7 100644 --- a/code/defines/turf.dm +++ b/code/defines/turf.dm @@ -332,7 +332,8 @@ attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W,/obj/item/weapon/weldingtool)) - if(W:welding) + var/obj/item/weapon/weldingtool/WT = W + if(WT.remove_fuel(0, user)) return TemperatureAct(100) ..() diff --git a/code/game/cellautomata.dm b/code/game/cellautomata.dm index 13a59505ea7..3210bac6526 100644 --- a/code/game/cellautomata.dm +++ b/code/game/cellautomata.dm @@ -97,7 +97,7 @@ radio_controller = new /datum/controller/radio() //main_hud1 = new /obj/hud() - data_core = new /obj/datacore() + data_core = new /obj/effect/datacore() paiController = new /datum/paiController() diff --git a/code/game/events/EventProcs/spacevines.dm b/code/game/events/EventProcs/spacevines.dm index b372981383a..f074e2b884d 100644 --- a/code/game/events/EventProcs/spacevines.dm +++ b/code/game/events/EventProcs/spacevines.dm @@ -38,7 +38,8 @@ else //weapons with subtypes if(istype(W, /obj/item/weapon/melee/energy/sword)) del src else if(istype(W, /obj/item/weapon/weldingtool)) - if(W:welding) del src + var/obj/item/weapon/weldingtool/WT = W + if(WT.remove_fuel(0, user)) del src //TODO: add plant-b-gone ..() diff --git a/code/game/hud.dm b/code/game/hud.dm index 3b3f93597a5..b46567040e1 100644 --- a/code/game/hud.dm +++ b/code/game/hud.dm @@ -18,6 +18,7 @@ #define ui_back "6:14,1:5" #define ui_rhand "7:16,1:5" #define ui_lhand "8:16,1:5" +#define ui_equip "7:16,2:5" #define ui_swaphand1 "7:16,2:5" #define ui_swaphand2 "8:16,2:5" #define ui_storage1 "9:18,1:5" diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index 29e2ce08eb4..66322cea927 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -18,6 +18,7 @@ H.equip_if_possible(new /obj/item/clothing/shoes/black(H), H.slot_shoes) H.equip_if_possible(new /obj/item/clothing/suit/armor/vest(H), H.slot_wear_suit) H.equip_if_possible(new /obj/item/clothing/under/rank/bartender(H), H.slot_w_uniform) + H.equip_if_possible(new /obj/item/device/pda/bar(H), H.slot_belt) if(H.backbag == 1) var/obj/item/weapon/storage/box/Barpack = new /obj/item/weapon/storage/box(H) @@ -54,6 +55,7 @@ H.equip_if_possible(new /obj/item/clothing/suit/storage/chef(H), H.slot_wear_suit) H.equip_if_possible(new /obj/item/clothing/shoes/black(H), H.slot_shoes) H.equip_if_possible(new /obj/item/clothing/head/chefhat(H), H.slot_head) + H.equip_if_possible(new /obj/item/device/pda/chef(H), H.slot_belt) return 1 @@ -124,7 +126,8 @@ H.equip_if_possible(new /obj/item/device/radio/headset/headset_cargo(H), H.slot_ears) H.equip_if_possible(new /obj/item/clothing/under/rank/cargotech(H), H.slot_w_uniform) H.equip_if_possible(new /obj/item/clothing/shoes/black(H), H.slot_shoes) - H.equip_if_possible(new /obj/item/device/pda/quartermaster(H), H.slot_belt) + H.equip_if_possible(new /obj/item/device/pda/cargo(H), H.slot_belt) + H.equip_if_possible(new /obj/item/clothing/gloves/fingerless/black(H), H.slot_gloves) return 1 @@ -149,6 +152,7 @@ H.equip_if_possible(new /obj/item/device/pda/shaftminer(H), H.slot_belt) H.equip_if_possible(new /obj/item/clothing/under/rank/miner(H), H.slot_w_uniform) H.equip_if_possible(new /obj/item/clothing/shoes/black(H), H.slot_shoes) + H.equip_if_possible(new /obj/item/clothing/gloves/fingerless/black(H), H.slot_gloves) if(H.backbag == 1) H.equip_if_possible(new /obj/item/weapon/storage/box(H), H.slot_r_hand) H.equip_if_possible(new /obj/item/weapon/crowbar(H), H.slot_l_hand) diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index 0eda0f66a98..fdc5d1588a0 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -20,8 +20,7 @@ H.equip_if_possible(new /obj/item/clothing/suit/storage/armourrigvest(H), H.slot_wear_suit) H.equip_if_possible(new /obj/item/clothing/shoes/jackboots(H), H.slot_shoes) H.equip_if_possible(new /obj/item/device/pda/heads/hos(H), H.slot_belt) -// H.equip_if_possible(new /obj/item/clothing/suit/armor/hos(H), H.slot_wear_suit) -//We're Bay12, not Goon. We don't need armor 24/7 +// H.equip_if_possible(new /obj/item/clothing/suit/armor/hos(H), H.slot_wear_suit) //We're Bay12, not Goon. We don't need armor 24/7 H.equip_if_possible(new /obj/item/clothing/gloves/hos(H), H.slot_gloves) H.equip_if_possible(new /obj/item/clothing/head/helmet/HoS(H), H.slot_head) H.equip_if_possible(new /obj/item/clothing/glasses/sunglasses/sechud(H), H.slot_glasses) @@ -87,7 +86,6 @@ /* var/obj/item/clothing/mask/cigarette/CIG = new /obj/item/clothing/mask/cigarette(H) CIG.light("") H.equip_if_possible(CIG, H.slot_wear_mask) */ - //Fuck that thing. --SkyMarshal H.equip_if_possible(new /obj/item/clothing/gloves/detective(H), H.slot_gloves) H.equip_if_possible(new /obj/item/weapon/storage/box/evidence(H.back), H.slot_in_backpack) H.equip_if_possible(new /obj/item/weapon/fcardholder(H), H.slot_in_backpack) diff --git a/code/game/machinery/bots/ed209bot.dm b/code/game/machinery/bots/ed209bot.dm index 92cc9281ef9..be5c8639ffe 100644 --- a/code/game/machinery/bots/ed209bot.dm +++ b/code/game/machinery/bots/ed209bot.dm @@ -813,8 +813,9 @@ Auto Patrol: []"}, src.item_state = "ed209_shell" src.icon_state = "ed209_shell" del(W) - else if((istype(W, /obj/item/weapon/weldingtool) && W:welding) && (src.build_step == 3)) - if (W:remove_fuel(0,user)) + else if(istype(W, /obj/item/weapon/weldingtool) && src.build_step == 3) + var/obj/item/weapon/weldingtool/WT = W + if(WT.remove_fuel(0,user)) src.build_step++ src.name = "shielded frame assembly" user << "You welded the vest to [src]!" diff --git a/code/game/machinery/bots/secbot.dm b/code/game/machinery/bots/secbot.dm index 46905532dbf..4531d76cba3 100644 --- a/code/game/machinery/bots/secbot.dm +++ b/code/game/machinery/bots/secbot.dm @@ -730,8 +730,9 @@ Auto Patrol: []"}, /obj/item/weapon/secbot_assembly/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() - if((istype(W, /obj/item/weapon/weldingtool) && W:welding) && (!src.build_step)) - if(W:remove_fuel(0,user)) + if((istype(W, /obj/item/weapon/weldingtool)) && (!src.build_step)) + var/obj/item/weapon/weldingtool/WT = W + if(WT.remove_fuel(0,user)) src.build_step++ src.overlays += image('aibots.dmi', "hs_hole") user << "You weld a hole in [src]!" diff --git a/code/game/machinery/computer/ai_core.dm b/code/game/machinery/computer/ai_core.dm index 4215c0a2b53..750db980e6b 100644 --- a/code/game/machinery/computer/ai_core.dm +++ b/code/game/machinery/computer/ai_core.dm @@ -20,13 +20,16 @@ anchored = 1 state = 1 if(istype(P, /obj/item/weapon/weldingtool)) + var/obj/item/weapon/weldingtool/WT = P + if(!WT.isOn()) + user << "The welder must be on for this task." + return playsound(loc, 'Welder.ogg', 50, 1) - P:welding = 2 if(do_after(user, 20)) + if(!src || !WT.remove_fuel(0, user)) return user << "\blue You deconstruct the frame." new /obj/item/stack/sheet/plasteel( loc, 4) del(src) - P:welding = 1 if(1) if(istype(P, /obj/item/weapon/wrench)) playsound(loc, 'Ratchet.ogg', 50, 1) @@ -162,6 +165,7 @@ playsound(loc, 'Screwdriver.ogg', 50, 1) user << "\blue You connect the monitor." new /mob/living/silicon/ai ( loc, laws, brain ) +// feedback_inc("cyborg_ais_created",1) del(src) /obj/structure/AIcore/deactivated diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm index cfcef2eb3b7..15d63c6d56f 100644 --- a/code/game/machinery/computer/buildandrepair.dm +++ b/code/game/machinery/computer/buildandrepair.dm @@ -259,13 +259,16 @@ src.anchored = 1 src.state = 1 if(istype(P, /obj/item/weapon/weldingtool)) - P:welding = 2 + var/obj/item/weapon/weldingtool/WT = P + if(!WT.remove_fuel(0, user)) + user << "The welding tool must be on to complete this task." + return playsound(src.loc, 'Welder.ogg', 50, 1) if(do_after(user, 20)) + if(!src || !WT.isOn()) return user << "\blue You deconstruct the frame." new /obj/item/stack/sheet/metal( src.loc, 5 ) del(src) - P:welding = 1 if(1) if(istype(P, /obj/item/weapon/wrench)) playsound(src.loc, 'Ratchet.ogg', 50, 1) diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm index ef311774f78..427fa9015cf 100644 --- a/code/game/machinery/computer/computer.dm +++ b/code/game/machinery/computer/computer.dm @@ -134,7 +134,7 @@ Pod/Blast Doors computer return 1 -/obj/datacore/proc/manifest(var/nosleep = 0) +/obj/effect/datacore/proc/manifest(var/nosleep = 0) spawn() if(!nosleep) sleep(40) @@ -244,7 +244,7 @@ Pod/Blast Doors computer locked += L return -/obj/datacore/proc/manifest_modify(var/name, var/assignment) +/obj/effect/datacore/proc/manifest_modify(var/name, var/assignment) var/datum/data/record/foundrecord for(var/datum/data/record/t in data_core.general) @@ -258,7 +258,7 @@ Pod/Blast Doors computer foundrecord.fields["real_rank"] = assignment -/obj/datacore/proc/manifest_inject(var/mob/living/carbon/human/H) +/obj/effect/datacore/proc/manifest_inject(var/mob/living/carbon/human/H) if (!isnull(H.mind) && (H.mind.assigned_role != "MODE")) var/datum/data/record/G = new() var/datum/data/record/M = new() diff --git a/code/game/machinery/computer/power.dm b/code/game/machinery/computer/power.dm index 26f08505234..614a5f4e15d 100644 --- a/code/game/machinery/computer/power.dm +++ b/code/game/machinery/computer/power.dm @@ -96,7 +96,7 @@ for(var/obj/machinery/power/apc/A in L) - t += copytext(add_tspace(A.area.name, 30), 1, 30) + t += copytext(add_tspace("\The [A.area]", 30), 1, 30) if(control) t += " ([A.operating? " On" : "Off"])" else diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm index 8ccc0b363e1..fd94cb27011 100644 --- a/code/game/machinery/pipe/pipe_dispenser.dm +++ b/code/game/machinery/pipe/pipe_dispenser.dm @@ -108,6 +108,27 @@ density = 1 anchored = 1.0 +/* +//Allow you to push disposal pipes into it (for those with density 1) +/obj/machinery/pipedispenser/disposal/HasEntered(var/obj/structure/disposalconstruct/pipe as obj) + if(istype(pipe) && !pipe.anchored) + del(pipe) + +Nah +*/ + +//Allow you to drag-drop disposal pipes into it +/obj/machinery/pipedispenser/disposal/MouseDrop_T(var/obj/structure/disposalconstruct/pipe as obj, mob/usr as mob) + if(!usr.canmove || usr.stat || usr.restrained()) + return + + if (!istype(pipe) || get_dist(usr, src) > 1 || get_dist(src,pipe) > 1 ) + return + + if (pipe.anchored) + return + + del(pipe) /obj/machinery/pipedispenser/disposal/attack_hand(user as mob) if(..()) diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index 2df8cb6f5c8..3174443256d 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -456,6 +456,7 @@ Neutralize All Unidentified Life Signs: []
"}, /obj/machinery/porta_turret/proc/shootAt(var/atom/movable/target) // shoots at a target + if(!emagged) // if it hasn't been emagged, it has to obey a cooldown rate if(last_fired || !raised) return // prevents rapid-fire shooting, unless it's been emagged last_fired = 1 @@ -644,13 +645,19 @@ Neutralize All Unidentified Life Signs: []
"}, return else if(istype(W, /obj/item/weapon/weldingtool)) - if (W:remove_fuel(5,user)) // uses up 5 fuel. - playsound(src.loc, pick('Welder.ogg', 'Welder2.ogg'), 50, 1) - if(do_after(user, 20)) - build_step = 1 - user << "You remove the turret's interior metal armor." - new /obj/item/stack/sheet/metal( loc, 2) - return + var/obj/item/weapon/weldingtool/WT = W + if(!WT.isOn()) return + if (WT.get_fuel() < 5) // uses up 5 fuel. + user << "\red You need more fuel to complete this task." + return + + playsound(src.loc, pick('Welder.ogg', 'Welder2.ogg'), 50, 1) + if(do_after(user, 20)) + if(!src || !WT.remove_fuel(5, user)) return + build_step = 1 + user << "You remove the turret's interior metal armor." + new /obj/item/stack/sheet/metal( loc, 2) + return if(3) @@ -706,22 +713,27 @@ Neutralize All Unidentified Life Signs: []
"}, if(7) if(istype(W, /obj/item/weapon/weldingtool)) - if (W:remove_fuel(5,user)) - playsound(src.loc, pick('Welder.ogg', 'Welder2.ogg'), 50, 1) - if(do_after(user, 30)) - build_step = 8 - user << "\blue You weld the turret's armor down." + var/obj/item/weapon/weldingtool/WT = W + if(!WT.isOn()) return + if (WT.get_fuel() < 5) + user << "\red You need more fuel to complete this task." - // The final step: create a full turret - var/obj/machinery/porta_turret/Turret = new/obj/machinery/porta_turret(locate(x,y,z)) - Turret.name = finish_name - Turret.installation = src.installation - Turret.gun_charge = src.gun_charge + playsound(src.loc, pick('Welder.ogg', 'Welder2.ogg'), 50, 1) + if(do_after(user, 30)) + if(!src || !WT.remove_fuel(5, user)) return + build_step = 8 + user << "\blue You weld the turret's armor down." - Turret.cover=new/obj/machinery/porta_turret_cover(src.loc) - Turret.cover.Parent_Turret=Turret - Turret.cover.name = finish_name - del(src) + // The final step: create a full turret + var/obj/machinery/porta_turret/Turret = new/obj/machinery/porta_turret(locate(x,y,z)) + Turret.name = finish_name + Turret.installation = src.installation + Turret.gun_charge = src.gun_charge + + Turret.cover=new/obj/machinery/porta_turret_cover(src.loc) + Turret.cover.Parent_Turret=Turret + Turret.cover.name = finish_name + del(src) else if(istype(W, /obj/item/weapon/crowbar)) playsound(src.loc, 'Crowbar.ogg', 75, 1) diff --git a/code/game/magic/library.dm b/code/game/magic/library.dm index 963a7eb16ac..ceac35ae954 100644 --- a/code/game/magic/library.dm +++ b/code/game/magic/library.dm @@ -119,6 +119,7 @@ // add to inventory if(comp) comp.inventory += B + update_icon() /obj/structure/bookcase/attackby(obj/O as obj, mob/user as mob) if(istype(O, /obj/item/weapon/book)) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 52f897ef19b..f2ac1f25269 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -757,8 +757,9 @@ user << "There's already a powercell installed." return - else if(istype(W, /obj/item/weapon/weldingtool) && W:welding && user.a_intent != "hurt") - if (W:remove_fuel(0,user)) + else if(istype(W, /obj/item/weapon/weldingtool) && user.a_intent != "hurt") + var/obj/item/weapon/weldingtool/WT = W + if (WT.remove_fuel(0,user)) if (hasInternalDamage(MECHA_INT_TANK_BREACH)) clearInternalDamage(MECHA_INT_TANK_BREACH) user << "\blue You repair the damaged gas tank." diff --git a/code/game/mecha/mecha_construction_paths.dm b/code/game/mecha/mecha_construction_paths.dm index 939f7578c1e..1b574e9dd2b 100644 --- a/code/game/mecha/mecha_construction_paths.dm +++ b/code/game/mecha/mecha_construction_paths.dm @@ -5,7 +5,7 @@ /datum/construction/mecha/custom_action(step, atom/used_atom, mob/user) if(istype(used_atom, /obj/item/weapon/weldingtool)) var/obj/item/weapon/weldingtool/W = used_atom - if (W:remove_fuel(0, user)) + if (W.remove_fuel(0, user)) playsound(holder, 'Welder2.ogg', 50, 1) else return 0 @@ -38,7 +38,7 @@ /datum/construction/reversible/mecha/custom_action(index as num, diff as num, atom/used_atom, mob/user as mob) if(istype(used_atom, /obj/item/weapon/weldingtool)) var/obj/item/weapon/weldingtool/W = used_atom - if (W:remove_fuel(0, user)) + if (W.remove_fuel(0, user)) playsound(holder, 'Welder2.ogg', 50, 1) else return 0 diff --git a/code/game/objects/alien/egg.dm b/code/game/objects/alien/egg.dm index 2f6ee03982e..8f73d2cd11a 100644 --- a/code/game/objects/alien/egg.dm +++ b/code/game/objects/alien/egg.dm @@ -82,7 +82,7 @@ if(istype(W, /obj/item/weapon/weldingtool)) var/obj/item/weapon/weldingtool/WT = W - if(WT.welding) + if(WT.remove_fuel(0, user)) damage = 15 playsound(src.loc, 'Welder.ogg', 100, 1) diff --git a/code/game/objects/alien/weeds.dm b/code/game/objects/alien/weeds.dm index b65d00044b3..3c07c2fd732 100644 --- a/code/game/objects/alien/weeds.dm +++ b/code/game/objects/alien/weeds.dm @@ -76,7 +76,7 @@ Alien plants should do something if theres a lot of poison if(istype(W, /obj/item/weapon/weldingtool)) var/obj/item/weapon/weldingtool/WT = W - if(WT.welding) + if(WT.remove_fuel(0, user)) damage = 15 playsound(loc, 'Welder.ogg', 100, 1) diff --git a/code/game/objects/closets.dm b/code/game/objects/closets.dm index 1ec2acdda74..c623440b0ff 100644 --- a/code/game/objects/closets.dm +++ b/code/game/objects/closets.dm @@ -133,8 +133,9 @@ if(istype(W, /obj/item/weapon/grab)) src.MouseDrop_T(W:affecting, user) //act like they were dragged onto the closet - if(istype(W, /obj/item/weapon/weldingtool) && W:welding ) - if(!W:remove_fuel(0,user)) + if(istype(W, /obj/item/weapon/weldingtool)) + var/obj/item/weapon/weldingtool/WT = W + if(!WT.remove_fuel(0,user)) user << "\blue You need more welding fuel to complete this task." return new /obj/item/stack/sheet/metal(src.loc) @@ -156,8 +157,9 @@ else if(istype(W, /obj/item/weapon/packageWrap)) return - else if(istype(W, /obj/item/weapon/weldingtool) && W:welding ) - if(!W:remove_fuel(0,user)) + else if(istype(W, /obj/item/weapon/weldingtool)) + var/obj/item/weapon/weldingtool/WT = W + if(!WT.remove_fuel(0,user)) user << "\blue You need more welding fuel to complete this task." return src.welded =! src.welded diff --git a/code/game/objects/closets/secure/medical.dm b/code/game/objects/closets/secure/medical.dm index b9829af6ad4..34391c40dce 100644 --- a/code/game/objects/closets/secure/medical.dm +++ b/code/game/objects/closets/secure/medical.dm @@ -72,14 +72,14 @@ new /obj/item/device/pda/medical(src) new /obj/item/weapon/storage/firstaid/regular(src) new /obj/item/device/flashlight/pen(src) - switch(pick(list("blue", "green", "purple"))) + switch(pick("blue", "green", "purple")) if ("blue") new /obj/item/clothing/under/rank/medical/blue(src) if ("green") new /obj/item/clothing/under/rank/medical/green(src) if ("purple") new /obj/item/clothing/under/rank/medical/purple(src) - switch(pick(list("blue", "green", "purple"))) + switch(pick("blue", "green", "purple")) if ("blue") new /obj/item/clothing/under/rank/medical/blue(src) if ("green") @@ -162,6 +162,8 @@ new /obj/item/device/flashlight/pen(src) new /obj/item/weapon/cartridge/cmo(src) new /obj/item/device/radio/headset/heads/cmo(src) + new /obj/item/weapon/storage/belt/medical(src) + new /obj/item/device/flash(src) return diff --git a/code/game/objects/closets/secure/secure_closets.dm b/code/game/objects/closets/secure/secure_closets.dm index fdfac4dcda1..59aa01299dd 100644 --- a/code/game/objects/closets/secure/secure_closets.dm +++ b/code/game/objects/closets/secure/secure_closets.dm @@ -136,6 +136,8 @@ if(!usr.canmove || usr.stat || usr.restrained()) // Don't use it if you're not able to! Checks for stuns, ghost and restrain return - if(!opened) // If we let him lock it while it's open, it will close without the items inside going with it - togglelock(usr) - + if (ishuman(usr)) + if (!opened) + togglelock(usr) + else + usr << "\red This mob type can't use this verb." \ No newline at end of file diff --git a/code/game/objects/devices/PDA/PDA.dm b/code/game/objects/devices/PDA/PDA.dm index 3fdbcb4fb67..9e2ec3aac75 100755 --- a/code/game/objects/devices/PDA/PDA.dm +++ b/code/game/objects/devices/PDA/PDA.dm @@ -54,7 +54,11 @@ /obj/item/device/pda/detective default_cartridge = /obj/item/weapon/cartridge/detective - icon_state = "pda-s" + icon_state = "pda-det" + +/obj/item/device/pda/warden + default_cartridge = /obj/item/weapon/cartridge/security + icon_state = "pda-warden" /obj/item/device/pda/janitor default_cartridge = /obj/item/weapon/cartridge/janitor @@ -107,6 +111,10 @@ icon_state = "pda-c" toff = 1 +/obj/item/device/pda/cargo + default_cartridge = /obj/item/weapon/cartridge/quartermaster + icon_state = "pda-cargo" + /obj/item/device/pda/quartermaster default_cartridge = /obj/item/weapon/cartridge/quartermaster icon_state = "pda-q" @@ -143,6 +151,13 @@ note = "Congratulations, your station has chosen the Thinktronic 5290 WGW-11 Series E-reader and Personal Data Assistant!" silent = 1 //Quiet in the library! + +/obj/item/device/pda/chef + icon_state = "pda-chef" + +/obj/item/device/pda/bar + icon_state = "pda-bar" + /obj/item/device/pda/atmos icon_state = "pda-atmo" diff --git a/code/game/objects/door_assembly.dm b/code/game/objects/door_assembly.dm index 4c9e9c7207c..c3e67162baf 100644 --- a/code/game/objects/door_assembly.dm +++ b/code/game/objects/door_assembly.dm @@ -179,20 +179,19 @@ obj/structure/door_assembly glass = 1 /obj/structure/door_assembly/attackby(obj/item/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/weldingtool) && W:welding && !anchored ) - if (W:remove_fuel(0,user)) - W:welding = 2 + if(istype(W, /obj/item/weapon/weldingtool) && !anchored ) + var/obj/item/weapon/weldingtool/WT = W + if(WT.remove_fuel(0,user)) user.visible_message("[user] dissassembles the airlock assembly.", "You start to dissassemble the airlock assembly.") playsound(src.loc, 'Welder2.ogg', 50, 1) if(do_after(user, 40)) - if(!src) return + if(!src || !WT.isOn()) return user << "\blue You dissasembled the airlock assembly!" new /obj/item/stack/sheet/metal(get_turf(src), 4) if(src.glass==1) new /obj/item/stack/sheet/rglass(get_turf(src)) del(src) - W:welding = 1 else user << "\blue You need more welding fuel to dissassemble the airlock assembly." return diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index ba9c5a979fa..a740c7d9d71 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -511,18 +511,19 @@ if (is_sharp(W)) burst() +//Is this even used for anything besides balloons? Yes I took out the W:lit stuff because : really shouldnt be used. /proc/is_sharp(obj/item/W as obj) // For the record, WHAT THE HELL IS THIS METHOD OF DOING IT? return ( \ istype(W, /obj/item/weapon/screwdriver) || \ istype(W, /obj/item/weapon/pen) || \ - istype(W, /obj/item/weapon/weldingtool) && W:welding || \ - istype(W, /obj/item/weapon/lighter/zippo) && W:lit || \ - istype(W, /obj/item/weapon/match) && W:lit || \ - istype(W, /obj/item/clothing/mask/cigarette) && W:lit || \ + istype(W, /obj/item/weapon/weldingtool) || \ + istype(W, /obj/item/weapon/lighter/zippo) || \ + istype(W, /obj/item/weapon/match) || \ + istype(W, /obj/item/clothing/mask/cigarette) || \ istype(W, /obj/item/weapon/wirecutters) || \ istype(W, /obj/item/weapon/circular_saw) || \ - istype(W, /obj/item/weapon/melee/energy/sword) && W:active || \ - istype(W, /obj/item/weapon/melee/energy/blade) || \ + istype(W, /obj/item/weapon/melee/energy/sword) || \ + istype(W, /obj/item/weapon/melee/energy/blade) || \ istype(W, /obj/item/weapon/shovel) || \ istype(W, /obj/item/weapon/kitchenknife) || \ istype(W, /obj/item/weapon/butch) || \ diff --git a/code/game/objects/items/candle.dm b/code/game/objects/items/candle.dm index d93e157d767..3e103f23ab6 100644 --- a/code/game/objects/items/candle.dm +++ b/code/game/objects/items/candle.dm @@ -1,4 +1,4 @@ -//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 +//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32 #define CANDLE_LUM 3 @@ -27,14 +27,22 @@ attackby(obj/item/weapon/W as obj, mob/user as mob) ..() - if(istype(W, /obj/item/weapon/weldingtool) && W:welding) - light("\red [user] casually lights the [name] with [W], what a badass.") - else if(istype(W, /obj/item/weapon/lighter) && W:lit) - light() - else if(istype(W, /obj/item/weapon/match) && W:lit) - light() - else if(istype(W, /obj/item/candle) && W:lit) - light() + 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], what a badass.") + 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].") diff --git a/code/game/objects/items/clothing.dm b/code/game/objects/items/clothing.dm index 7eb200596e4..8dfd188b1f8 100644 --- a/code/game/objects/items/clothing.dm +++ b/code/game/objects/items/clothing.dm @@ -330,87 +330,93 @@ THERMAL GLASSES /obj/item/clothing/suit/storage/labcoat/verb/toggle() set name = "Toggle Labcoat Buttons" set category = "Object" - if(src.icon_state == "labcoat_open") - src.icon_state = "labcoat" - usr << "You button up the labcoat." - else if(src.icon_state == "labcoat") - src.icon_state = "labcoat_open" - usr << "You unbutton the labcoat." - else if(src.icon_state == "labcoat_cmo_open") - src.icon_state = "labcoat_cmo" - usr << "You button up the labcoat." - else if(src.icon_state == "labcoat_cmo") - src.icon_state = "labcoat_cmo_open" - usr << "You unbutton the labcoat." - else if(src.icon_state == "labcoat_cmoalt_open") - src.icon_state = "labcoat_cmoalt" - usr << "You button up the labcoat." - else if(src.icon_state == "labcoat_cmoalt") - src.icon_state = "labcoat_cmoalt_open" - usr << "You unbutton the labcoat." - else if(src.icon_state == "labcoat_gen_open") - src.icon_state = "labcoat_gen" - usr << "You button up the labcoat." - else if(src.icon_state == "labcoat_gen") - src.icon_state = "labcoat_gen_open" - usr << "You unbutton the labcoat." - else if(src.icon_state == "labcoat_chem_open") - src.icon_state = "labcoat_chem" - usr << "You button up the labcoat." - else if(src.icon_state == "labcoat_chem") - src.icon_state = "labcoat_chem_open" - usr << "You unbutton the labcoat." - else if(src.icon_state == "labcoat_vir_open") - src.icon_state = "labcoat_vir" - usr << "You button up the labcoat." - else if(src.icon_state == "labcoat_vir") - src.icon_state = "labcoat_vir_open" - usr << "You unbutton the labcoat." - else if(src.icon_state == "labcoat_tox_open") - src.icon_state = "labcoat_tox" - usr << "You button up the labcoat." - else if(src.icon_state == "labcoat_tox") - src.icon_state = "labcoat_tox_open" - usr << "You unbutton the labcoat." - else if(src.icon_state == "labgreen_open") - src.icon_state = "labgreen" - usr << "You button up the labcoat." - else if(src.icon_state == "labgreen") - src.icon_state = "labgreen_open" - usr << "You unbutton the labcoat." - else if(src.icon_state == "labcoat_pink_open") - src.icon_state = "labcoat_pink" - usr << "You button up the labcoat." - else if(src.icon_state == "labcoat_pink") - src.icon_state = "labcoat_pink_open" - usr << "You unbutton the labcoat." - else if(src.icon_state == "labcoat_red_open") - src.icon_state = "labcoat_red" - usr << "You button up the labcoat." - else if(src.icon_state == "labcoat_red") - src.icon_state = "labcoat_red_open" - usr << "You unbutton the labcoat." - else if(src.icon_state == "labcoat_cdc_open") - src.icon_state = "labcoat_cdc" - usr << "You button up the labcoat." - else if(src.icon_state == "labcoat_cdc") - src.icon_state = "labcoat_cdc_open" - usr << "You unbutton the labcoat." - else if(src.icon_state == "fr_jacket_open") - src.icon_state = "fr_jacket" - usr << "You button up the jacket." - else if(src.icon_state == "fr_jacket") - src.icon_state = "fr_jacket_open" - usr << "You unbutton the jacket." - else if(src.icon_state == "fr_sleeve_open") - src.icon_state = "fr_sleeve" - usr << "You button up the jacket." - else if(src.icon_state == "fr_sleeve") - src.icon_state = "fr_sleeve_open" - usr << "You unbutton the jacket." + + if(!usr.canmove || usr.stat || usr.restrained()) + return 0 + else - usr << "Sorry! The suit you're wearing doesn't have buttons!" - usr.update_clothing() + + if(src.icon_state == "labcoat_open") + src.icon_state = "labcoat" + usr << "You button up the labcoat." + else if(src.icon_state == "labcoat") + src.icon_state = "labcoat_open" + usr << "You unbutton the labcoat." + else if(src.icon_state == "labcoat_cmo_open") + src.icon_state = "labcoat_cmo" + usr << "You button up the labcoat." + else if(src.icon_state == "labcoat_cmo") + src.icon_state = "labcoat_cmo_open" + usr << "You unbutton the labcoat." + else if(src.icon_state == "labcoat_cmoalt_open") + src.icon_state = "labcoat_cmoalt" + usr << "You button up the labcoat." + else if(src.icon_state == "labcoat_cmoalt") + src.icon_state = "labcoat_cmoalt_open" + usr << "You unbutton the labcoat." + else if(src.icon_state == "labcoat_gen_open") + src.icon_state = "labcoat_gen" + usr << "You button up the labcoat." + else if(src.icon_state == "labcoat_gen") + src.icon_state = "labcoat_gen_open" + usr << "You unbutton the labcoat." + else if(src.icon_state == "labcoat_chem_open") + src.icon_state = "labcoat_chem" + usr << "You button up the labcoat." + else if(src.icon_state == "labcoat_chem") + src.icon_state = "labcoat_chem_open" + usr << "You unbutton the labcoat." + else if(src.icon_state == "labcoat_vir_open") + src.icon_state = "labcoat_vir" + usr << "You button up the labcoat." + else if(src.icon_state == "labcoat_vir") + src.icon_state = "labcoat_vir_open" + usr << "You unbutton the labcoat." + else if(src.icon_state == "labcoat_tox_open") + src.icon_state = "labcoat_tox" + usr << "You button up the labcoat." + else if(src.icon_state == "labcoat_tox") + src.icon_state = "labcoat_tox_open" + usr << "You unbutton the labcoat." + else if(src.icon_state == "labgreen_open") + src.icon_state = "labgreen" + usr << "You button up the labcoat." + else if(src.icon_state == "labgreen") + src.icon_state = "labgreen_open" + usr << "You unbutton the labcoat." + else if(src.icon_state == "labcoat_pink_open") + src.icon_state = "labcoat_pink" + usr << "You button up the labcoat." + else if(src.icon_state == "labcoat_pink") + src.icon_state = "labcoat_pink_open" + usr << "You unbutton the labcoat." + else if(src.icon_state == "labcoat_red_open") + src.icon_state = "labcoat_red" + usr << "You button up the labcoat." + else if(src.icon_state == "labcoat_red") + src.icon_state = "labcoat_red_open" + usr << "You unbutton the labcoat." + else if(src.icon_state == "labcoat_cdc_open") + src.icon_state = "labcoat_cdc" + usr << "You button up the labcoat." + else if(src.icon_state == "labcoat_cdc") + src.icon_state = "labcoat_cdc_open" + usr << "You unbutton the labcoat." + else if(src.icon_state == "fr_jacket_open") + src.icon_state = "fr_jacket" + usr << "You button up the jacket." + else if(src.icon_state == "fr_jacket") + src.icon_state = "fr_jacket_open" + usr << "You unbutton the jacket." + else if(src.icon_state == "fr_sleeve_open") + src.icon_state = "fr_sleeve" + usr << "You button up the jacket." + else if(src.icon_state == "fr_sleeve") + src.icon_state = "fr_sleeve_open" + usr << "You unbutton the jacket." + else + usr << "Sorry! The suit you're wearing doesn't have buttons!" + usr.update_clothing() /obj/item/clothing/head/ushanka/attack_self(mob/user as mob) if(src.icon_state == "ushankadown") @@ -422,6 +428,7 @@ THERMAL GLASSES src.item_state = "ushankadown" user << "You lower the ear flaps on the ushanka." + /obj/item/clothing/glasses/thermal/emp_act(severity) if(istype(src.loc, /mob/living/carbon/human)) var/mob/living/carbon/human/M = src.loc diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm index cd6b29491a4..77628fab40e 100644 --- a/code/game/objects/items/weapons/cigs_lighters.dm +++ b/code/game/objects/items/weapons/cigs_lighters.dm @@ -1,4 +1,4 @@ -//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 +//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32 /* CONTAINS: @@ -124,71 +124,82 @@ ZIPPO var/smoketime = 300 var/butt_count = 5 //count of butt sprite variations - proc - light(var/flavor_text = "[usr] lights the [name].") - put_out() - if (src.lit == -1) - return - src.lit = -1 - src.damtype = "brute" - src.icon_state = icon_butt + "[rand(0,butt_count)]" - src.item_state = icon_off - src.desc = "A [src.name] butt." - src.name = "[src.name] butt" - attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - if(istype(W, /obj/item/weapon/weldingtool) && W:welding) +/obj/item/clothing/mask/cigarette/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 while lighting their cig with a welding tool light("\red [user] casually lights the [name] with [W], what a badass.") - else if(istype(W, /obj/item/weapon/lighter/zippo) && (W:lit > 0)) + else if(istype(W, /obj/item/weapon/lighter/zippo)) + var/obj/item/weapon/lighter/zippo/Z = W + if(Z.lit > 0) light("\red With a single flick of their wrist, [user] smoothly lights their [name] with their [W]. Damn they're cool.") - else if(istype(W, /obj/item/weapon/lighter) && (W:lit > 0)) + else if(istype(W, /obj/item/weapon/lighter)) + var/obj/item/weapon/lighter/L = W + if(L.lit > 0) light("\red After some fiddling, [user] manages to light their [name] with [W].") - else if(istype(W, /obj/item/weapon/match) && (W:lit > 0)) + else if(istype(W, /obj/item/weapon/melee/energy/sword)) + var/obj/item/weapon/melee/energy/sword/S = W + if(S.active) + light("\red [user] swings their [W], barely missing their nose. They light their [name] in the process.") + + else if(istype(W, /obj/item/weapon/match)) + var/obj/item/weapon/match/M = W + if(M.lit > 0) light("\red [user] lights their [name] with their [W].") - return + return - light(var/flavor_text = "[usr] lights the [name].") - if(!src.lit) - src.lit = 1 - src.damtype = "fire" - src.icon_state = icon_on - src.item_state = icon_on - for(var/mob/O in viewers(usr, null)) - O.show_message(flavor_text, 1) - processing_objects.Add(src) +/obj/item/clothing/mask/cigarette/proc/light(var/flavor_text = "[usr] lights the [name].") + if(!src.lit) + src.lit = 1 + src.damtype = "fire" + src.icon_state = icon_on + src.item_state = icon_on + for(var/mob/O in viewers(usr, null)) + O.show_message(flavor_text, 1) + processing_objects.Add(src) - process() - var/turf/location = get_turf(src) - src.smoketime-- - if(src.smoketime < 1) - if(ismob(src.loc)) - var/mob/living/M = src.loc - M << "\red Your [src.name] goes out." - put_out() - M.update_clothing() - else - put_out() - processing_objects.Remove(src) - return - if(location) - location.hotspot_expose(700, 5) - return - - - dropped(mob/user as mob) - if(src.lit == 1) - src.visible_message("\red [user] calmly drops and treads on the lit [src], putting it out instantly.") +/obj/item/clothing/mask/cigarette/process() + var/turf/location = get_turf(src) + src.smoketime-- + if(src.smoketime < 1) + if(ismob(src.loc)) + var/mob/living/M = src.loc + M << "\red Your [src.name] goes out." put_out() - return ..() + M.update_clothing() + else + put_out() + processing_objects.Remove(src) + return + if(location) + location.hotspot_expose(700, 5) + return +/obj/item/clothing/mask/cigarette/dropped(mob/user as mob) + if(src.lit == 1) + src.visible_message("\red [user] calmly drops and treads on the lit [src], putting it out instantly.") + put_out() + return ..() + +/obj/item/clothing/mask/cigarette/proc/put_out() + if (src.lit == -1) + return + src.lit = -1 + src.damtype = "brute" + src.icon_state = icon_butt + "[rand(0,butt_count)]" + src.item_state = icon_off + src.desc = "A [src.name] butt." + src.name = "[src.name] butt" + //////////// // CIGARS // @@ -252,24 +263,30 @@ ZIPPO var/lastHolder = null var/smoketime = 100 var/maxsmoketime = 100 //make sure this is equal to your smoketime - proc light(var/flavor_text = "[usr] lights the [name].") attackby(obj/item/weapon/W as obj, mob/user as mob) ..() - if(istype(W, /obj/item/weapon/weldingtool) && W:welding) - light("\red [user] casually lights the [name] with [W], what a badass.") + if(istype(W, /obj/item/weapon/weldingtool)) + var/obj/item/weapon/weldingtool/WT = W + if(WT.isOn()) + light("\red [user] casually lights the [name] with [W], what a badass.") - else if(istype(W, /obj/item/weapon/lighter/zippo) && (W:lit > 0)) - light("\red With a single flick of their wrist, [user] smoothly lights their [name] with their [W]. Damn they're cool.") + else if(istype(W, /obj/item/weapon/lighter/zippo)) + var/obj/item/weapon/lighter/zippo/Z = W + if(Z.lit > 0) + light("\red With a single flick of their wrist, [user] smoothly lights their [name] with their [W]. Damn they're cool.") - else if(istype(W, /obj/item/weapon/lighter) && (W:lit > 0)) - light("\red After some fiddling, [user] manages to light their [name] with [W].") + else if(istype(W, /obj/item/weapon/lighter)) + var/obj/item/weapon/lighter/L = W + if(L.lit > 0) + light("\red After some fiddling, [user] manages to light their [name] with [W].") - else if(istype(W, /obj/item/weapon/match) && (W:lit > 0)) - light("\red [user] lights \his [name] with \his [W].") - return + else if(istype(W, /obj/item/weapon/match)) + var/obj/item/weapon/match/M = W + if(M.lit > 0) + light("\red [user] lights their [name] with their [W].") light(var/flavor_text = "[usr] lights the [name].") if(!src.lit) @@ -475,4 +492,4 @@ ZIPPO if(lit) user.total_luminosity -= 2 src.sd_SetLuminosity(2) - return \ No newline at end of file + return diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index 5a23cfbb8ab..4bc4a25de19 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -71,242 +71,278 @@ WELDINGTOOOL icon_state = "welder" flags = FPRINT | TABLEPASS| CONDUCT slot_flags = SLOT_BELT + + //Amount of OUCH when it's thrown force = 3.0 throwforce = 5.0 throw_speed = 1 throw_range = 5 w_class = 2.0 + + //Cost to make in the autolathe m_amt = 70 g_amt = 30 + + //R&D tech level origin_tech = "engineering=1" - var/welding = 0 - var/status = 1 - var/max_fuel = 20 - proc - get_fuel() - remove_fuel(var/amount = 1, var/mob/M = null) - check_status() - toggle(var/message = 0) - eyecheck(mob/user as mob) + + //Welding tool specific stuff + var/welding = 0 //Whether or not the welding tool is off(0), on(1) or currently welding(2) + var/status = 1 //Whether the welder is secured or unsecured (able to attach rods to it to make a flamethrower) + var/max_fuel = 20 //The max amount of fuel the welder can hold + +/obj/item/weapon/weldingtool/New() +// var/random_fuel = min(rand(10,20),max_fuel) + var/datum/reagents/R = new/datum/reagents(max_fuel) + reagents = R + R.my_atom = src + R.add_reagent("fuel", max_fuel) + return - New() - var/random_fuel = min(rand(10,20),max_fuel) - var/datum/reagents/R = new/datum/reagents(max_fuel) - reagents = R - R.my_atom = src - R.add_reagent("fuel", random_fuel) - return +/obj/item/weapon/weldingtool/examine() + set src in usr + usr << text("\icon[] [] contains []/[] units of fuel!", src, src.name, get_fuel(),src.max_fuel ) + return - examine() - set src in usr - usr << text("\icon[] [] contains []/[] units of fuel!", src, src.name, get_fuel(),src.max_fuel ) - return - - - attackby(obj/item/W as obj, mob/user as mob) - if(istype(W,/obj/item/weapon/screwdriver)) - if(welding) - user << "\red Stop welding first!" - return - status = !status - if(status) - user << "\blue You resecure the welder." - else - user << "\blue The welder can now be attached and modified." - src.add_fingerprint(user) +/obj/item/weapon/weldingtool/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W,/obj/item/weapon/screwdriver)) + if(welding) + user << "\red Stop welding first!" return - - if((!status) && (istype(W,/obj/item/stack/rods))) - var/obj/item/stack/rods/R = W - R.use(1) - var/obj/item/weapon/flamethrower/F = new/obj/item/weapon/flamethrower(user.loc) - src.loc = F - F.weldtool = src - if (user.client) - user.client.screen -= src - if (user.r_hand == src) - user.u_equip(src) - else - user.u_equip(src) - src.master = F - src.layer = initial(src.layer) - user.u_equip(src) - if (user.client) - user.client.screen -= src - src.loc = F - src.add_fingerprint(user) - return - - ..() - return - - - process() - switch(welding) - if(0) - processing_objects.Remove(src) - return - if(1) - if(prob(5))//Welders left on now use up fuel, but lets not have them run out quite that fast - remove_fuel(1) - if(2) - if(prob(75)) - remove_fuel(1) - //if you're actually actively welding, use fuel faster. - - var/turf/location = src.loc - if(istype(location, /mob/)) - var/mob/M = location - if(M.l_hand == src || M.r_hand == src) - location = get_turf(M) - if (istype(location, /turf)) - location.hotspot_expose(700, 5) - - - afterattack(obj/O as obj, mob/user as mob) - if (istype(O, /obj/structure/reagent_dispensers/fueltank) && get_dist(src,O) <= 1 && !src.welding) - O.reagents.trans_to(src, max_fuel) - user << "\blue Welder refueled" - playsound(src.loc, 'refill.ogg', 50, 1, -6) - return - else if (istype(O, /obj/structure/reagent_dispensers/fueltank) && get_dist(src,O) <= 1 && src.welding) - 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(O.loc,-1,0,2) - if(O) - del(O) - return - if (src.welding) - remove_fuel(1) - var/turf/location = get_turf(user) - if (istype(location, /turf)) - location.hotspot_expose(700, 50, 1) - return - - - attack_self(mob/user as mob) - toggle() - user.update_clothing() - return - - -///GET prop for fuel - get_fuel() - return reagents.get_reagent_amount("fuel") - - -///SET prop for fuel -///Will also turn it off if it is out of fuel -///The mob argument is not needed but if included will call eyecheck() on it if the welder is on. - remove_fuel(var/amount = 1, var/mob/M = null) - if(!welding || !check_status()) - return 0 - if(get_fuel() >= amount) - reagents.remove_reagent("fuel", amount) - check_status() - if(M) - eyecheck(M)//TODO:eyecheck should really be in mob not here - return 1 + status = !status + if(status) + user << "\blue You resecure the welder." else - if(M) - M << "\blue You need more welding fuel to complete this task." - return 0 + user << "\blue The welder can now be attached and modified." + src.add_fingerprint(user) + return + + if((!status) && (istype(W,/obj/item/stack/rods))) + var/obj/item/stack/rods/R = W + R.use(1) + var/obj/item/weapon/flamethrower/F = new/obj/item/weapon/flamethrower(user.loc) + src.loc = F + F.weldtool = src + if (user.client) + user.client.screen -= src + if (user.r_hand == src) + user.u_equip(src) + else + user.u_equip(src) + src.master = F + src.layer = initial(src.layer) + user.u_equip(src) + if (user.client) + user.client.screen -= src + src.loc = F + src.add_fingerprint(user) + return + + ..() + return -///Quick check to see if we even have any fuel and should shut off -///This could use a better name - check_status() - if((get_fuel() <= 0) && welding) - toggle(1) - return 0 - return 1 - - -//toggles the welder off and on - toggle(var/message = 0) - if(!status) return - src.welding = !( src.welding ) - if (src.welding) - if (remove_fuel(1)) - usr << "\blue You switch the [src] on." +/obj/item/weapon/weldingtool/process() + switch(welding) + //If off + if(0) + if(src.icon_state != "welder") //Check that the sprite is correct, if it isnt, it means toggle() was not called + src.force = 3 + src.damtype = "brute" + src.icon_state = "welder" + src.welding = 0 + processing_objects.Remove(src) + return + //Welders left on now use up fuel, but lets not have them run out quite that fast + if(1) + if(src.icon_state != "welder1") //Check that the sprite is correct, if it isnt, it means toggle() was not called src.force = 15 src.damtype = "fire" src.icon_state = "welder1" - processing_objects.Add(src) - else - usr << "\blue Need more fuel!" - src.welding = 0 - return - else - if(!message) - usr << "\blue You switch the [src] off." - else - usr << "\blue The [src] shuts off!" - src.force = 3 - src.damtype = "brute" - src.icon_state = "welder" - src.welding = 0 + if(prob(5)) + remove_fuel(1) + + //If you're actually actively welding, use fuel faster. + //Is this actually used or set anywhere? - Nodrak + if(2) + if(prob(75)) + remove_fuel(1) - eyecheck(mob/user as mob) - //check eye protection - if(!iscarbon(user)) return 1 - var/safety = user:eyecheck() - switch(safety) - if(1) - usr << "\red Your eyes sting a little." - user.eye_stat += rand(1, 2) - if(user.eye_stat > 12) - user.eye_blurry += rand(3,6) - if(0) - usr << "\red Your eyes burn." - user.eye_stat += rand(2, 4) - if(user.eye_stat > 10) - user.eye_blurry += rand(4,10) - if(-1) - usr << "\red Your thermals intensify the welder's glow. Your eyes itch and burn severely." - user.eye_blurry += rand(12,20) - user.eye_stat += rand(12, 16) - if(user.eye_stat > 10 && safety < 2) - user << "\red Your eyes are really starting to hurt. This can't be good for you!" - if (prob(user.eye_stat - 25 + 1)) - user << "\red You go blind!" - user.disabilities |= 128 - else if (prob(user.eye_stat - 15 + 1)) - user << "\red You go blind!" - user.eye_blind = 5 - user.eye_blurry = 5 - user.disabilities |= 1 -// spawn(100) -// user.disabilities &= ~1 //Simpler to just leave them short sighted. + //I'm not sure what this does. I assume it has to do with starting fires... + //...but it doesnt check to see if the welder is on or not. + var/turf/location = src.loc + if(istype(location, /mob/)) + var/mob/M = location + if(M.l_hand == src || M.r_hand == src) + location = get_turf(M) + if (istype(location, /turf)) + location.hotspot_expose(700, 5) + + +/obj/item/weapon/weldingtool/afterattack(obj/O as obj, mob/user as mob) + if (istype(O, /obj/structure/reagent_dispensers/fueltank) && get_dist(src,O) <= 1 && !src.welding) + O.reagents.trans_to(src, max_fuel) + user << "\blue Welder refueled" + playsound(src.loc, 'refill.ogg', 50, 1, -6) return + else if (istype(O, /obj/structure/reagent_dispensers/fueltank) && get_dist(src,O) <= 1 && src.welding) + 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(O.loc,-1,0,2) + if(O) + del(O) + return + if (src.welding) + remove_fuel(1) + var/turf/location = get_turf(user) + if (istype(location, /turf)) + location.hotspot_expose(700, 50, 1) + return - attack(mob/M as mob, mob/user as mob) - if(hasorgans(M)) - var/datum/organ/external/S = M:organs[user.zone_sel.selecting] - if(S) - message_admins("It appears [M] has \"null\" where there should be a [user.zone_sel.selecting]. Check into this, and tell SkyMarshal: \"[M.type]\"") - return ..() - if(!S.robot || user.a_intent != "help") - return ..() - if(S.brute_dam) - S.heal_damage(15,0,0,1) - if(user != M) - user.visible_message("\red You patch some dents on \the [M]'s [S.display_name]",\ - "\red \The [user] patches some dents on \the [M]'s [S.display_name] with \the [src]",\ - "You hear a welder.") - else - user.visible_message("\red You patch some dents on your [S.display_name]",\ - "\red \The [user] patches some dents on their [S.display_name] with \the [src]",\ - "You hear a welder.") - else - user << "Nothing to fix!" + +/obj/item/weapon/weldingtool/attack_self(mob/user as mob) + toggle() + user.update_clothing() + return + +//Returns the amount of fuel in the welder +/obj/item/weapon/weldingtool/proc/get_fuel() + return reagents.get_reagent_amount("fuel") + + +//Removes fuel from the welding tool. If a mob is passed, it will perform an eyecheck on the mob. This should probably be renamed to use() +/obj/item/weapon/weldingtool/proc/remove_fuel(var/amount = 1, var/mob/M = null) + if(!welding || !check_fuel()) + return 0 + if(get_fuel() >= amount) + reagents.remove_reagent("fuel", amount) + check_fuel() + if(M) + eyecheck(M) + return 1 + else + if(M) + M << "\blue You need more welding fuel to complete this task." + return 0 + +//Returns whether or not the welding tool is currently on. +/obj/item/weapon/weldingtool/proc/isOn() + return src.welding + +//Sets the welding state of the welding tool. If you see W.welding = 1 anywhere, please change it to W.setWelding(1) +//so that the welding tool updates accordingly +/obj/item/weapon/weldingtool/proc/setWelding(var/temp_welding) + //If we're turning it on + if(temp_welding > 0) + if (remove_fuel(1)) + usr << "\blue The [src] switches on." + src.force = 15 + src.damtype = "fire" + src.icon_state = "welder1" + processing_objects.Add(src) else - return ..() + usr << "\blue Need more fuel!" + src.welding = 0 + return + //Otherwise + else + usr << "\blue The [src] switches off." + src.force = 3 + src.damtype = "brute" + src.icon_state = "welder" + src.welding = 0 +//Turns off the welder if there is no more fuel (does this really need to be its own proc?) +/obj/item/weapon/weldingtool/proc/check_fuel() + if((get_fuel() <= 0) && welding) + toggle(1) + return 0 + return 1 + + +//Toggles the welder off and on +/obj/item/weapon/weldingtool/proc/toggle(var/message = 0) + if(!status) return + src.welding = !( src.welding ) + if (src.welding) + if (remove_fuel(1)) + usr << "\blue You switch the [src] on." + src.force = 15 + src.damtype = "fire" + src.icon_state = "welder1" + processing_objects.Add(src) + else + usr << "\blue Need more fuel!" + src.welding = 0 + return + else + if(!message) + usr << "\blue You switch the [src] off." + else + usr << "\blue The [src] shuts off!" + src.force = 3 + src.damtype = "brute" + src.icon_state = "welder" + src.welding = 0 + return + +//Decides whether or not to damage a player's eyes based on what they're wearing as protection +//Note: This should probably be moved to mob +/obj/item/weapon/weldingtool/proc/eyecheck(mob/user as mob) + if(!iscarbon(user)) return 1 + var/safety = user:eyecheck() + switch(safety) + if(1) + usr << "\red Your eyes sting a little." + user.eye_stat += rand(1, 2) + if(user.eye_stat > 12) + user.eye_blurry += rand(3,6) + if(0) + usr << "\red Your eyes burn." + user.eye_stat += rand(2, 4) + if(user.eye_stat > 10) + user.eye_blurry += rand(4,10) + if(-1) + usr << "\red Your thermals intensify the welder's glow. Your eyes itch and burn severely." + user.eye_blurry += rand(12,20) + user.eye_stat += rand(12, 16) + if(user.eye_stat > 10 && safety < 2) + user << "\red Your eyes are really starting to hurt. This can't be good for you!" + if (prob(user.eye_stat - 25 + 1)) + user << "\red You go blind!" + user.disabilities |= 128 + else if (prob(user.eye_stat - 15 + 1)) + user << "\red You go blind!" + user.eye_blind = 5 + user.eye_blurry = 5 + user.disabilities |= 1 +// spawn(100) +// user.disabilities &= ~1 //Simpler to just leave them short sighted. + return + +/obj/item/weapon/weldingtool/attack(mob/M as mob, mob/user as mob) + if(hasorgans(M)) + var/datum/organ/external/S = M:organs[user.zone_sel.selecting] + if(!S.robot || user.a_intent != "help") + return ..() + if(S.brute_dam) + S.heal_damage(15,0,0,1) + if(user != M) + user.visible_message("\red You patch some dents on \the [M]'s [S.display_name]",\ + "\red \The [user] patches some dents on \the [M]'s [S.display_name] with \the [src]",\ + "You hear a welder.") + else + user.visible_message("\red You patch some dents on your [S.display_name]",\ + "\red \The [user] patches some dents on their [S.display_name] with \the [src]",\ + "You hear a welder.") + else + user << "Nothing to fix!" + else + return ..() /obj/item/weapon/weldingtool/largetank name = "Industrial Welding Tool" @@ -325,13 +361,21 @@ WELDINGTOOOL /obj/item/weapon/weldingtool/experimental name = "Experimental Welding Tool" - max_fuel = 80 + max_fuel = 40 w_class = 3.0 m_amt = 70 g_amt = 120 + origin_tech = "engineering=4;plasma=3" + icon_state = "ewelder" + var/last_gen = 0 +/obj/item/weapon/weldingtool/experimental/proc/fuel_gen()//Proc to make the experimental welder generate fuel, optimized as fuck -Sieve + var/gen_amount = ((world.time-last_gen)/25) + reagents += (gen_amount) + if(reagents > max_fuel) + reagents = max_fuel /obj/item/weapon/wirecutters name = "wirecutters" desc = "This cuts wires." @@ -346,10 +390,10 @@ WELDINGTOOOL m_amt = 80 origin_tech = "materials=1;engineering=1" - New() - if(prob(50)) - icon_state = "cutters-y" - item_state = "cutters_yellow" +/obj/item/weapon/wirecutters/New() + if(prob(50)) + icon_state = "cutters-y" + item_state = "cutters_yellow" /obj/item/weapon/wirecutters/attack(mob/M as mob, mob/user as mob) if((M.handcuffed) && (istype(M:handcuffed, /obj/item/weapon/handcuffs/cable))) diff --git a/code/game/objects/mineral_doors.dm b/code/game/objects/mineral_doors.dm index f99a8d395fe..9e7fcb5fb2f 100644 --- a/code/game/objects/mineral_doors.dm +++ b/code/game/objects/mineral_doors.dm @@ -188,7 +188,8 @@ attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W,/obj/item/weapon/weldingtool)) - if(W:welding) + var/obj/item/weapon/weldingtool/WT = W + if(WT.remove_fuel(0, user)) TemperatureAct(100) ..() diff --git a/code/game/objects/secstorage/secstorage.dm b/code/game/objects/secstorage/secstorage.dm index 725f27e4883..bcf3de27417 100644 --- a/code/game/objects/secstorage/secstorage.dm +++ b/code/game/objects/secstorage/secstorage.dm @@ -67,16 +67,16 @@ var/cx = tx var/cy = ty - src.boxes.screen_loc = text("[],[] to [],[]", tx, ty, mx, my) + src.boxes.screen_loc = "[tx],[ty] to [mx],[my]" for(var/obj/O in src.contents) - O.screen_loc = text("[],[]", cx, cy) + O.screen_loc = "[cx],[cy]" O.layer = 20 cx++ if (cx > mx) cx = tx cy-- //Foreach goto(56) - src.closer.screen_loc = text("[],[]", mx, my) + src.closer.screen_loc = "[mx],[my]" return //This proc draws out the inventory and places the items on it. It uses the standard position. @@ -85,15 +85,15 @@ var/cols = 6 var/cx = 4 var/cy = 2+rows - src.boxes.screen_loc = text("4:16,2:16 to [4+cols]:16,[2+rows]:16") + src.boxes.screen_loc = "4:16,2:16 to [4+cols]:16,[2+rows]:16" for(var/obj/O in src.contents) - O.screen_loc = text("[cx]:16,[cy]:16") + O.screen_loc = "[cx]:16,[cy]:16" O.layer = 20 cx++ if (cx > (4+cols)) cx = 4 cy-- - src.closer.screen_loc = text("11:16,2:16") + src.closer.screen_loc = "11:16,2:16" return /obj/item/weapon/secstorage/proc/orient2hud(mob/user as mob) diff --git a/code/game/objects/shooting_range.dm b/code/game/objects/shooting_range.dm index d678e9d88c4..6731b3e9e2c 100644 --- a/code/game/objects/shooting_range.dm +++ b/code/game/objects/shooting_range.dm @@ -95,7 +95,8 @@ attackby(obj/item/W as obj, mob/user as mob) if (istype(W, /obj/item/weapon/weldingtool)) - if(W:welding == 1) + var/obj/item/weapon/weldingtool/WT = W + if(WT.remove_fuel(0, user)) overlays = null usr << "You slice off [src]'s uneven chunks of aluminum and scorch marks." return diff --git a/code/game/objects/stacks/glass.dm b/code/game/objects/stacks/glass.dm index a11beacd82f..88803375fc3 100644 --- a/code/game/objects/stacks/glass.dm +++ b/code/game/objects/stacks/glass.dm @@ -237,19 +237,20 @@ SHARDS /obj/item/weapon/shard/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() - if ( istype(W, /obj/item/weapon/weldingtool) && W:welding ) - W:eyecheck(user) - var/obj/item/stack/sheet/glass/NG = new (user.loc) - for (var/obj/item/stack/sheet/glass/G in user.loc) - if(G==NG) - continue - if(G.amount>=G.max_amount) - continue - G.attackby(NG, user) - usr << "You add the newly-formed glass to the stack. It now contains [NG.amount] sheets." - //SN src = null - del(src) - return + if ( istype(W, /obj/item/weapon/weldingtool)) + var/obj/item/weapon/weldingtool/WT = W + if(WT.remove_fuel(0, user)) + var/obj/item/stack/sheet/glass/NG = new (user.loc) + for (var/obj/item/stack/sheet/glass/G in user.loc) + if(G==NG) + continue + if(G.amount>=G.max_amount) + continue + G.attackby(NG, user) + usr << "You add the newly-formed glass to the stack. It now contains [NG.amount] sheets." + //SN src = null + del(src) + return return ..() /obj/item/weapon/shard/HasEntered(AM as mob|obj) diff --git a/code/game/objects/stacks/metal.dm b/code/game/objects/stacks/metal.dm index 087c562efa2..f4c9d52e19d 100644 --- a/code/game/objects/stacks/metal.dm +++ b/code/game/objects/stacks/metal.dm @@ -12,11 +12,14 @@ FLOOR TILES /obj/item/stack/rods/attackby(obj/item/W as obj, mob/user as mob) ..() - if (istype(W, /obj/item/weapon/weldingtool) && W:welding) + if (istype(W, /obj/item/weapon/weldingtool)) + var/obj/item/weapon/weldingtool/WT = W + if(amount < 2) user << "\red You need at least two rods to do this." return - if(W:remove_fuel(0,user)) + + if(WT.remove_fuel(0,user)) var/obj/item/stack/sheet/metal/new_item = new(usr.loc) new_item.add_to_stacks(usr) for (var/mob/M in viewers(src)) diff --git a/code/game/objects/stacks/wood.dm b/code/game/objects/stacks/wood.dm index 40f4494721c..6dd30588173 100644 --- a/code/game/objects/stacks/wood.dm +++ b/code/game/objects/stacks/wood.dm @@ -8,9 +8,9 @@ var/global/list/datum/stack_recipe/wood_recipes = list ( \ new/datum/stack_recipe("table parts", /obj/item/weapon/table_parts/wood, 2), \ new/datum/stack_recipe("wooden barricade", /obj/structure/barricade/wooden, 5, time = 30, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("wooden door", /obj/structure/mineral_door/wood, 10, time = 20, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("coffin", /obj/structure/closet/coffin, 5, time = 15, one_per_turf = 1, on_floor = 1), \ ) -/obj/item/stack/sheet/wood - New(var/loc, var/amount=null) - recipes = wood_recipes - return ..() \ No newline at end of file +/obj/item/stack/sheet/wood/New(var/loc, var/amount=null) + recipes = wood_recipes + return ..() \ No newline at end of file diff --git a/code/game/objects/storage/storage.dm b/code/game/objects/storage/storage.dm index 9004c3c447a..601600b72d6 100644 --- a/code/game/objects/storage/storage.dm +++ b/code/game/objects/storage/storage.dm @@ -66,30 +66,30 @@ /obj/item/weapon/storage/proc/orient_objs(tx, ty, mx, my) var/cx = tx var/cy = ty - src.boxes.screen_loc = text("[tx]:,[ty] to [mx],[my]") + src.boxes.screen_loc = "[tx]:,[ty] to [mx],[my]" for(var/obj/O in src.contents) - O.screen_loc = text("[cx],[cy]") + O.screen_loc = "[cx],[cy]" O.layer = 20 cx++ if (cx > mx) cx = tx cy-- - src.closer.screen_loc = text("[mx+1],[my]") + src.closer.screen_loc = "[mx+1],[my]" return //This proc draws out the inventory and places the items on it. It uses the standard position. /obj/item/weapon/storage/proc/standard_orient_objs(var/rows,var/cols) var/cx = 4 var/cy = 2+rows - src.boxes.screen_loc = text("4:16,2:16 to [4+cols]:16,[2+rows]:16") + src.boxes.screen_loc = "4:16,2:16 to [4+cols]:16,[2+rows]:16" for(var/obj/O in src.contents) - O.screen_loc = text("[cx]:16,[cy]:16") + O.screen_loc = "[cx]:16,[cy]:16" O.layer = 20 cx++ if (cx > (4+cols)) cx = 4 cy-- - src.closer.screen_loc = text("[4+cols+1]:16,2:16") + src.closer.screen_loc = "[4+cols+1]:16,2:16" return //This proc determins the size of the inventory to be displayed. Please touch it only if you know what you're doing. diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm index 132fd7e00cc..9d7f29078aa 100644 --- a/code/game/objects/structures.dm +++ b/code/game/objects/structures.dm @@ -173,7 +173,6 @@ obj/structure/meteorhit(obj/O as obj) else return - /obj/structure/girder/displaced icon_state = "displaced" anchored = 0 @@ -259,9 +258,10 @@ obj/structure/meteorhit(obj/O as obj) var/turf/T = get_turf(src) T.attackby(C, user) //BubbleWrap - hand this off to the underlying turf instead return - if (istype(C, /obj/item/weapon/weldingtool) && C:welding) - user << "\blue Slicing lattice joints ..." - C:eyecheck(user) + if (istype(C, /obj/item/weapon/weldingtool)) + var/obj/item/weapon/weldingtool/WT = C + if(WT.remove_fuel(0, user)) + user << "\blue Slicing lattice joints ..." new /obj/item/stack/rods(src.loc) del(src) diff --git a/code/game/objects/tables_racks.dm b/code/game/objects/tables_racks.dm index 1ffe6a64c7b..dfc0f319551 100644 --- a/code/game/objects/tables_racks.dm +++ b/code/game/objects/tables_racks.dm @@ -283,23 +283,22 @@ TABLE AND RACK OBJECT INTERATIONS return if (istype(W, /obj/item/weapon/weldingtool)) - if(W:welding == 1) + var/obj/item/weapon/weldingtool/WT = W + if(WT.remove_fuel(0, user)) if(src.status == 2) - W:welding = 2 user << "\blue Now weakening the reinforced table" playsound(src.loc, 'Welder.ogg', 50, 1) if (do_after(user, 50)) + if(!src || !WT.isOn()) return user << "\blue Table weakened" src.status = 1 - W:welding = 1 else - W:welding = 2 user << "\blue Now strengthening the reinforced table" playsound(src.loc, 'Welder.ogg', 50, 1) if (do_after(user, 50)) + if(!src || !WT.isOn()) return user << "\blue Table strengthened" src.status = 2 - W:welding = 1 return if(isrobot(user)) return diff --git a/code/game/objects/uplinks.dm b/code/game/objects/uplinks.dm index c431b4c5890..95b897b3741 100644 --- a/code/game/objects/uplinks.dm +++ b/code/game/objects/uplinks.dm @@ -81,113 +81,184 @@ A list of items and costs is stored under the datum of every game mode, alongsid // src.menu_message += "Random Item (??)
" src.menu_message += "
" return +/* +//If 'random' was selected + proc/chooseRandomItem() + var/list/randomItems = list() + + //Sorry for all the ifs, but it makes it 1000 times easier for other people/servers to add or remove items from this list + //Add only items the player can afford: + if(uses > 19) + randomItems.Add("/obj/item/weapon/circuitboard/teleporter") //Teleporter Circuit Board (costs 20, for nuke ops) + + if(uses > 9) + randomItems.Add("/obj/item/toy/syndicateballoon")//Syndicate Balloon + randomItems.Add("/obj/item/weapon/storage/syndie_kit/imp_uplink") //Uplink Implanter + randomItems.Add("/obj/item/weapon/storage/box/syndicate") //Syndicate bundle + + //if(uses > 8) //Nothing... yet. + //if(uses > 7) //Nothing... yet. + + if(uses > 6) + randomItems.Add("/obj/item/weapon/aiModule/syndicate") //Hacked AI Upload Module + randomItems.Add("/obj/item/device/radio/beacon/syndicate") //Singularity Beacon + + if(uses > 5) + randomItems.Add("/obj/item/weapon/gun/projectile") //Revolver + + if(uses > 4) + randomItems.Add("/obj/item/weapon/gun/energy/crossbow") //Energy Crossbow + randomItems.Add("/obj/item/device/powersink") //Powersink + + if(uses > 3) + randomItems.Add("/obj/item/weapon/melee/energy/sword") //Energy Sword + randomItems.Add("/obj/item/clothing/mask/gas/voice") //Voice Changer + randomItems.Add("/obj/item/device/chameleon") //Chameleon Projector + + if(uses > 2) + randomItems.Add("/obj/item/weapon/storage/emp_kit") //EMP Grenades + randomItems.Add("/obj/item/weapon/pen/paralysis") //Paralysis Pen + randomItems.Add("/obj/item/weapon/cartridge/syndicate") //Detomatix Cartridge + randomItems.Add("/obj/item/clothing/under/chameleon") //Chameleon Jumpsuit + randomItems.Add("/obj/item/weapon/card/id/syndicate") //Agent ID Card + randomItems.Add("/obj/item/weapon/card/emag") //Cryptographic Sequencer + randomItems.Add("/obj/item/weapon/storage/syndie_kit/space") //Syndicate Space Suit + randomItems.Add("/obj/item/device/encryptionkey/binary") //Binary Translator Key + randomItems.Add("/obj/item/weapon/storage/syndie_kit/imp_freedom") //Freedom Implant + randomItems.Add("/obj/item/clothing/glasses/thermal") //Thermal Imaging Goggles + + if(uses > 1) +/* + var/list/usrItems = usr.get_contents() //Checks to see if the user has a revolver before giving ammo + var/hasRevolver = 0 + for(var/obj/I in usrItems) //Only add revolver ammo if the user has a gun that can shoot it + if(istype(I,/obj/item/weapon/gun/projectile)) + hasRevolver = 1 + + if(hasRevolver) randomItems.Add("/obj/item/ammo_magazine/a357") //Revolver ammo +*/ + randomItems.Add("/obj/item/ammo_magazine/a357") //Revolver ammo + randomItems.Add("/obj/item/clothing/shoes/syndigaloshes") //No-Slip Syndicate Shoes + randomItems.Add("/obj/item/weapon/plastique") //C4 + + if(uses > 0) + randomItems.Add("/obj/item/weapon/soap/syndie") //Syndicate Soap + randomItems.Add("/obj/item/weapon/storage/toolbox/syndicate") //Syndicate Toolbox + + if(!randomItems) + del(randomItems) + return 0 + else + var/buyItem = pick(randomItems) + + switch(buyItem) //Ok, this gets a little messy, sorry. + if("/obj/item/weapon/circuitboard/teleporter") + uses -= 20 + if("/obj/item/toy/syndicateballoon" , "/obj/item/weapon/storage/syndie_kit/imp_uplink" , "/obj/item/weapon/storage/box/syndicate") + uses -= 10 + if("/obj/item/weapon/aiModule/syndicate" , "/obj/item/device/radio/beacon/syndicate") + uses -= 7 + if("/obj/item/weapon/gun/projectile") + uses -= 6 + if("/obj/item/weapon/gun/energy/crossbow" , "/obj/item/device/powersink") + uses -= 5 + if("/obj/item/weapon/melee/energy/sword" , "/obj/item/clothing/mask/gas/voice" , "/obj/item/device/chameleon") + uses -= 4 + if("/obj/item/weapon/storage/emp_kit" , "/obj/item/weapon/pen/paralysis" , "/obj/item/weapon/cartridge/syndicate" , "/obj/item/clothing/under/chameleon" , \ + "/obj/item/weapon/card/id/syndicate" , "/obj/item/weapon/card/emag" , "/obj/item/weapon/storage/syndie_kit/space" , "/obj/item/device/encryptionkey/binary" , \ + "/obj/item/weapon/storage/syndie_kit/imp_freedom" , "/obj/item/clothing/glasses/thermal") + uses -= 3 + if("/obj/item/ammo_magazine/a357" , "/obj/item/clothing/shoes/syndigaloshes" , "/obj/item/weapon/plastique") + uses -= 2 + if("/obj/item/weapon/soap/syndie" , "/obj/item/weapon/storage/toolbox/syndicate") + uses -= 1 + del(randomItems) + return buyItem + + proc/handleStatTracking(var/boughtItem) + //For stat tracking, sorry for making it so ugly + if(!boughtItem) return + + switch(boughtItem) + if("/obj/item/weapon/circuitboard/teleporter") + feedback_add_details("traitor_uplink_items_bought","TP") + if("/obj/item/toy/syndicateballoon") + feedback_add_details("traitor_uplink_items_bought","BS") + if("/obj/item/weapon/storage/syndie_kit/imp_uplink") + feedback_add_details("traitor_uplink_items_bought","UI") + if("/obj/item/weapon/storage/box/syndicate") + feedback_add_details("traitor_uplink_items_bought","BU") + if("/obj/item/weapon/aiModule/syndicate") + feedback_add_details("traitor_uplink_items_bought","AI") + if("/obj/item/device/radio/beacon/syndicate") + feedback_add_details("traitor_uplink_items_bought","SB") + if("/obj/item/weapon/gun/projectile") + feedback_add_details("traitor_uplink_items_bought","RE") + if("/obj/item/weapon/gun/energy/crossbow") + feedback_add_details("traitor_uplink_items_bought","XB") + if("/obj/item/device/powersink") + feedback_add_details("traitor_uplink_items_bought","PS") + if("/obj/item/weapon/melee/energy/sword") + feedback_add_details("traitor_uplink_items_bought","ES") + if("/obj/item/clothing/mask/gas/voice") + feedback_add_details("traitor_uplink_items_bought","VC") + if("/obj/item/device/chameleon") + feedback_add_details("traitor_uplink_items_bought","CP") + if("/obj/item/weapon/storage/emp_kit") + feedback_add_details("traitor_uplink_items_bought","EM") + if("/obj/item/weapon/pen/paralysis") + feedback_add_details("traitor_uplink_items_bought","PP") + if("/obj/item/weapon/cartridge/syndicate") + feedback_add_details("traitor_uplink_items_bought","DC") + if("/obj/item/clothing/under/chameleon") + feedback_add_details("traitor_uplink_items_bought","CJ") + if("/obj/item/weapon/card/id/syndicate") + feedback_add_details("traitor_uplink_items_bought","AC") + if("/obj/item/weapon/card/emag") + feedback_add_details("traitor_uplink_items_bought","EC") + if("/obj/item/weapon/storage/syndie_kit/space") + feedback_add_details("traitor_uplink_items_bought","SS") + if("/obj/item/device/encryptionkey/binary") + feedback_add_details("traitor_uplink_items_bought","BT") + if("/obj/item/weapon/storage/syndie_kit/imp_freedom") + feedback_add_details("traitor_uplink_items_bought","FI") + if("/obj/item/clothing/glasses/thermal") + feedback_add_details("traitor_uplink_items_bought","TM") + if("/obj/item/ammo_magazine/a357") + feedback_add_details("traitor_uplink_items_bought","RA") + if("/obj/item/clothing/shoes/syndigaloshes") + feedback_add_details("traitor_uplink_items_bought","SH") + if("/obj/item/weapon/plastique") + feedback_add_details("traitor_uplink_items_bought","C4") + if("/obj/item/weapon/soap/syndie") + feedback_add_details("traitor_uplink_items_bought","SP") + if("/obj/item/weapon/storage/toolbox/syndicate") + feedback_add_details("traitor_uplink_items_bought","ST") +*/ Topic(href, href_list) if (href_list["buy_item"]) -/* if(href_list["buy_item"] == "random") - var/list/randomItems = list() - - //Sorry for all the ifs, but it makes it 1000 times easier for other people/servers to add or remove items from this list - //Add only items the player can afford: - if(uses > 19) - randomItems.Add("/obj/item/weapon/circuitboard/teleporter") //Teleporter Circuit Board (costs 20, for nuke ops) - - if(uses > 9) - randomItems.Add("/obj/item/toy/syndicateballoon")//Syndicate Balloon - randomItems.Add("/obj/item/weapon/storage/syndie_kit/imp_uplink") //Uplink Implanter - randomItems.Add("/obj/item/weapon/storage/box/syndicate") //Syndicate bundle - - //if(uses > 8) //Nothing... yet. - //if(uses > 7) //Nothing... yet. - - if(uses > 6) - randomItems.Add("/obj/item/weapon/aiModule/syndicate") //Hacked AI Upload Module - randomItems.Add("/obj/item/device/radio/beacon/syndicate") //Singularity Beacon - - if(uses > 5) - randomItems.Add("/obj/item/weapon/gun/projectile") //Revolver - - if(uses > 4) - randomItems.Add("/obj/item/weapon/gun/energy/crossbow") //Energy Crossbow - randomItems.Add("/obj/item/device/powersink") //Powersink - - if(uses > 3) - randomItems.Add("/obj/item/weapon/melee/energy/sword") //Energy Sword - randomItems.Add("/obj/item/clothing/mask/gas/voice") //Voice Changer - randomItems.Add("/obj/item/device/chameleon") //Chameleon Projector - - if(uses > 2) - randomItems.Add("/obj/item/weapon/storage/emp_kit") //EMP Grenades - randomItems.Add("/obj/item/weapon/pen/paralysis") //Paralysis Pen - randomItems.Add("/obj/item/weapon/cartridge/syndicate") //Detomatix Cartridge - randomItems.Add("/obj/item/clothing/under/chameleon") //Chameleon Jumpsuit - randomItems.Add("/obj/item/weapon/card/id/syndicate") //Agent ID Card - randomItems.Add("/obj/item/weapon/card/emag") //Cryptographic Sequencer - randomItems.Add("/obj/item/weapon/storage/syndie_kit/space") //Syndicate Space Suit - randomItems.Add("/obj/item/device/encryptionkey/binary") //Binary Translator Key - randomItems.Add("/obj/item/weapon/storage/syndie_kit/imp_freedom") //Freedom Implant - randomItems.Add("/obj/item/clothing/glasses/thermal") //Thermal Imaging Goggles - - if(uses > 1) -/* - var/list/usrItems = usr.get_contents() //Checks to see if the user has a revolver before giving ammo - var/hasRevolver = 0 - for(var/obj/I in usrItems) //Only add revolver ammo if the user has a gun that can shoot it - if(istype(I,/obj/item/weapon/gun/projectile)) - hasRevolver = 1 - - if(hasRevolver) randomItems.Add("/obj/item/ammo_magazine/a357") //Revolver ammo -*/ - randomItems.Add("/obj/item/ammo_magazine/a357") //Revolver ammo - randomItems.Add("/obj/item/clothing/shoes/syndigaloshes") //No-Slip Syndicate Shoes - randomItems.Add("/obj/item/weapon/plastique") //C4 - - if(uses > 0) - randomItems.Add("/obj/item/weapon/soap/syndie") //Syndicate Soap - randomItems.Add("/obj/item/weapon/storage/toolbox/syndicate") //Syndicate Toolbox - - if(!randomItems) - del(randomItems) - return 0 - else - href_list["buy_item"] = pick(randomItems) - - switch(href_list["buy_item"]) //Ok, this gets a little messy, sorry. - if("/obj/item/weapon/circuitboard/teleporter") - uses -= 20 - if("/obj/item/toy/syndicateballoon" , "/obj/item/weapon/storage/syndie_kit/imp_uplink" , "/obj/item/weapon/storage/box/syndicate") - uses -= 10 - if("/obj/item/weapon/aiModule/syndicate" , "/obj/item/device/radio/beacon/syndicate") - uses -= 7 - if("/obj/item/weapon/gun/projectile") - uses -= 6 - if("/obj/item/weapon/gun/energy/crossbow" , "/obj/item/device/powersink") - uses -= 5 - if("/obj/item/weapon/melee/energy/sword" , "/obj/item/clothing/mask/gas/voice" , "/obj/item/device/chameleon") - uses -= 4 - if("/obj/item/weapon/storage/emp_kit" , "/obj/item/weapon/pen/paralysis" , "/obj/item/weapon/cartridge/syndicate" , "/obj/item/clothing/under/chameleon" , \ - "/obj/item/weapon/card/id/syndicate" , "/obj/item/weapon/card/emag" , "/obj/item/weapon/storage/syndie_kit/space" , "/obj/item/device/encryptionkey/binary" , \ - "/obj/item/weapon/storage/syndie_kit/imp_freedom" , "/obj/item/clothing/glasses/thermal") - uses -= 3 - if("/obj/item/ammo_magazine/a357" , "/obj/item/clothing/shoes/syndigaloshes" , "/obj/item/weapon/plastique") - uses -= 2 - if("/obj/item/weapon/soap/syndie" , "/obj/item/weapon/storage/toolbox/syndicate") - uses -= 1 - - del(randomItems) - return 1 -*/ - - - if(text2num(href_list["cost"]) > uses) // Not enough crystals for the item + if(href_list["buy_item"] == "random") return 0 +/* + var/boughtItem = chooseRandomItem() + if(boughtItem) + href_list["buy_item"] = boughtItem + feedback_add_details("traitor_uplink_items_bought","RN") + return 1 + else + return 0 +*/ + else + if(text2num(href_list["cost"]) > uses) // Not enough crystals for the item + return 0 - //if(usr:mind && ticker.mode.traitors[usr:mind]) - //var/datum/traitorinfo/info = ticker.mode.traitors[usr:mind] - //info.spawnlist += href_list["buy_item"] - - uses -= text2num(href_list["cost"]) + //if(usr:mind && ticker.mode.traitors[usr:mind]) + //var/datum/traitorinfo/info = ticker.mode.traitors[usr:mind] + //info.spawnlist += href_list["buy_item"] + uses -= text2num(href_list["cost"]) +// handleStatTracking(href_list["buy_item"]) //Note: chooseRandomItem handles it's own stat tracking. This proc is not meant for 'random'. return 1 diff --git a/code/game/objects/windoor_assembly.dm b/code/game/objects/windoor_assembly.dm index c1b220927f2..b233c15e67b 100644 --- a/code/game/objects/windoor_assembly.dm +++ b/code/game/objects/windoor_assembly.dm @@ -68,7 +68,7 @@ obj/structure/windoor_assembly/Del() playsound(src.loc, 'Welder2.ogg', 50, 1) if(do_after(user, 40)) - if(!src) return + if(!src || !WT.isOn()) return user << "\blue You dissasembled the windoor assembly!" new /obj/item/stack/sheet/rglass(get_turf(src), 5) if(secure) diff --git a/code/game/step_triggers.dm b/code/game/step_triggers.dm index 53169583c81..f492a21a58c 100644 --- a/code/game/step_triggers.dm +++ b/code/game/step_triggers.dm @@ -1,15 +1,15 @@ /* Simple object type, calls a proc when "stepped" on by something */ -/obj/step_trigger +/obj/effect/step_trigger var/affect_ghosts = 0 var/stopper = 1 // stops throwers invisibility = 101 // nope cant see this shit anchored = 1 -/obj/step_trigger/proc/Trigger(var/atom/movable/A) +/obj/effect/step_trigger/proc/Trigger(var/atom/movable/A) return 0 -/obj/step_trigger/HasEntered(H as mob|obj) +/obj/effect/step_trigger/HasEntered(H as mob|obj) ..() if(!H) return @@ -21,7 +21,7 @@ /* Tosses things in a certain direction */ -/obj/step_trigger/thrower +/obj/effect/step_trigger/thrower var/direction = SOUTH // the direction of throw var/tiles = 3 // if 0: forever until atom hits a stopper var/immobilize = 1 // if nonzero: prevents mobs from moving while they're being flung @@ -33,7 +33,7 @@ Trigger(var/atom/movable/A) var/curtiles = 0 var/stopthrow = 0 - for(var/obj/step_trigger/thrower/T in orange(2, src)) + for(var/obj/effect/step_trigger/thrower/T in orange(2, src)) if(A in T.affecting) return @@ -56,11 +56,11 @@ // Calculate if we should stop the process if(!nostop) - for(var/obj/step_trigger/T in get_step(A, direction)) + for(var/obj/effect/step_trigger/T in get_step(A, direction)) if(T.stopper && T != src) stopthrow = 1 else - for(var/obj/step_trigger/teleporter/T in get_step(A, direction)) + for(var/obj/effect/step_trigger/teleporter/T in get_step(A, direction)) if(T.stopper) stopthrow = 1 @@ -81,11 +81,11 @@ /* Stops things thrown by a thrower, doesn't do anything */ -/obj/step_trigger/stopper +/obj/effect/step_trigger/stopper /* Instant teleporter */ -/obj/step_trigger/teleporter +/obj/effect/step_trigger/teleporter var/teleport_x = 0 // teleportation coordinates (if one is null, then no teleport!) var/teleport_y = 0 var/teleport_z = 0 @@ -99,7 +99,7 @@ /* Random teleporter, teleports atoms to locations ranging from teleport_x - teleport_x_offset, etc */ -/obj/step_trigger/teleporter/random +/obj/effect/step_trigger/teleporter/random var/teleport_x_offset = 0 var/teleport_y_offset = 0 var/teleport_z_offset = 0 diff --git a/code/game/turf.dm b/code/game/turf.dm index 7055658b4f2..d530fc406a7 100644 --- a/code/game/turf.dm +++ b/code/game/turf.dm @@ -521,14 +521,11 @@ if( istype(W, /obj/item/weapon/weldingtool) ) var/obj/item/weapon/weldingtool/WT = W if( WT.remove_fuel(0,user) ) - WT.welding = 2 - user << "You begin slicing through the outer plating." playsound(src.loc, 'Welder.ogg', 100, 1) sleep(100) - if( !istype(src, /turf/simulated/wall) || !user || !WT || !T ) return - WT.welding = 1 + if( !istype(src, /turf/simulated/wall) || !user || !WT || !WT.isOn() || !T ) return if( user.loc == T && user.equipped() == WT ) user << "You remove the outer plating." @@ -681,14 +678,12 @@ if( istype(W, /obj/item/weapon/weldingtool) ) var/obj/item/weapon/weldingtool/WT = W if( WT.remove_fuel(0,user) ) - WT.welding = 2 user << "You begin slicing through the metal cover." playsound(src.loc, 'Welder.ogg', 100, 1) sleep(60) - if( !istype(src, /turf/simulated/wall/r_wall) || !user || !WT || !T ) return - WT.welding = 1 + if( !istype(src, /turf/simulated/wall/r_wall) || !user || !WT || !WT.isOn() || !T ) return if( d_state == 2 && user.loc == T && user.equipped() == WT ) src.d_state = 3 @@ -746,14 +741,12 @@ if( istype(W, /obj/item/weapon/weldingtool) ) var/obj/item/weapon/weldingtool/WT = W if( WT.remove_fuel(0,user) ) - WT.welding = 2 user << "You begin slicing through the support rods." playsound(src.loc, 'Welder.ogg', 100, 1) sleep(100) - if( !istype(src, /turf/simulated/wall/r_wall) || !user || !WT || !T ) return - WT.welding = 1 + if( !istype(src, /turf/simulated/wall/r_wall) || !user || !WT || !WT.isOn() || !T ) return if( d_state == 5 && user.loc == T && user.equipped() == WT ) src.d_state = 6 @@ -1382,7 +1375,7 @@ turf/simulated/floor/return_siding_icon_state() if(istype(C, /obj/item/weapon/weldingtool)) var/obj/item/weapon/weldingtool/welder = C - if(welder.welding && (is_plating())) + if(welder.isOn() && (is_plating())) if(broken || burnt) if(welder.remove_fuel(0,user)) user << "\red You fix some dents on the broken plating." diff --git a/code/game/verbs/who.dm b/code/game/verbs/who.dm index 26ac9307b61..e197d419f49 100644 --- a/code/game/verbs/who.dm +++ b/code/game/verbs/who.dm @@ -31,7 +31,15 @@ for (var/mob/M in world) if(M && M.client && M.client.holder) if(usr.client.holder && (usr.client.holder.level != 0)) - usr << "[M.key] is a [M.client.holder.rank][M.client.stealth ? " (as [M.client.fakekey])" : ""]" + var/afk = 0 + if( M.client.inactivity > 3000 ) //3000 deciseconds = 300 seconds = 5 minutes + afk = 1 + if(isobserver(M)) + usr << "[M.key] is a [M.client.holder.rank][M.client.stealth ? " (as [M.client.fakekey])" : ""] - Observing [afk ? "(AFK)" : ""]" + else if(istype(M,/mob/new_player)) + usr << "[M.key] is a [M.client.holder.rank][M.client.stealth ? " (as [M.client.fakekey])" : ""] - Has not entered [afk ? "(AFK)" : ""]" + else if(istype(M,/mob/living)) + usr << "[M.key] is a [M.client.holder.rank][M.client.stealth ? " (as [M.client.fakekey])" : ""] - Playing [afk ? "(AFK)" : ""]" else if(!M.client.stealth && (M.client.holder.level != -3)) usr << "\t[pick(nobles)] [M.client] is a [M.client.holder.rank]" diff --git a/code/modules/admin/admin_investigate.dm b/code/modules/admin/admin_investigate.dm index 4f2956cf9bf..52ff51ee6d0 100644 --- a/code/modules/admin/admin_investigate.dm +++ b/code/modules/admin/admin_investigate.dm @@ -9,13 +9,7 @@ //SYSTEM /proc/investigate_subject2file(var/subject) - switch(subject) - if("singulo") - return file("[INVESTIGATE_DIR]singulo.html") - if("silicon") - return file("[INVESTIGATE_DIR]silicon.html") - else - return + return file("[INVESTIGATE_DIR][subject].html") /proc/investigate_reset() if(fdel(INVESTIGATE_DIR)) return 1 @@ -27,17 +21,26 @@ if(!F) return F << "[time2text(world.timeofday,"hh:mm")] \ref[src] ([x],[y],[z]) || [src] [message]
" - - //ADMINVERBS -/client/proc/investigate_show( subject in list("singulo","silicon") ) +/client/proc/investigate_show( subject in list("hrefs","singulo") ) set name = "Investigate" set category = "Admin" if(!holder) return - var/F = investigate_subject2file(subject) - if(!F) - src << "Error: admin_investigate: [INVESTIGATE_DIR][subject] is an invalid path or cannot be accessed." - return - src << browse(F,"window=investigate;size=800x300") - + switch(subject) + if("singulo") //general one-round-only stuff + var/F = investigate_subject2file(subject) + if(!F) + src << "Error: admin_investigate: [INVESTIGATE_DIR][subject] is an invalid path or cannot be accessed." + return + src << browse(F,"window=investigate[subject];size=800x300") + if("hrefs") //persistant logs and stuff + if(config && config.log_hrefs) + if(href_logfile) + src << browse(href_logfile,"window=investigate[subject];size=800x300") + else + src << "Error: admin_investigate: No href logfile found." + return + else + src << "Error: admin_investigate: Href Logging is not on." + return diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 6c847a17b88..962785cd4c3 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -307,6 +307,7 @@ verbs += /client/proc/giveruntimelog //used by coders to retrieve runtime logs verbs += /client/proc/cinematic //show a cinematic sequence verbs += /client/proc/startSinglo //Used to prevent the station from losing power while testing stuff out. + verbs += /client/proc/toggle_log_hrefs verbs += /client/proc/enable_debug_verbs verbs += /client/proc/kill_air verbs += /client/proc/callprocgen @@ -440,7 +441,8 @@ verbs -= /client/proc/getserverlog verbs -= /client/proc/cinematic //show a cinematic sequence verbs -= /client/proc/admin_memo - verbs -= /client/proc/investigate_show + verbs -= /client/proc/investigate_show //investigate in-game mishaps using various logs. + verbs -= /client/proc/toggle_log_hrefs verbs -= /client/proc/cmd_admin_change_custom_event verbs -= /client/proc/admin_invis verbs -= /client/proc/callprocgen @@ -881,6 +883,18 @@ // feedback_add_details("admin_verb","TAVVH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return +/client/proc/toggle_log_hrefs() + set name = "Toggle href logging" + set category = "Server" + if(!holder) return + if(config) + if(config.log_hrefs) + config.log_hrefs = 0 + src << "Stopped logging hrefs" + else + config.log_hrefs = 1 + src << "Started logging hrefs" + /client/proc/admin_invis() set category = "Admin" set name = "Invisibility" diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index ee260eeecbe..8f3625dbd1d 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -215,7 +215,7 @@ proc/check_panel(mob/M) return 1 return 0*/ -/obj/fake_attacker +/obj/effect/fake_attacker icon = null icon_state = null name = "" @@ -358,8 +358,8 @@ var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/projectile, /obj/ite if(!possible_clones.len) return clone = pick(possible_clones) - //var/obj/fake_attacker/F = new/obj/fake_attacker(outside_range(target)) - var/obj/fake_attacker/F = new/obj/fake_attacker(target.loc) + //var/obj/effect/fake_attacker/F = new/obj/effect/fake_attacker(outside_range(target)) + var/obj/effect/fake_attacker/F = new/obj/effect/fake_attacker(target.loc) if(clone.l_hand) if(!(locate(clone.l_hand) in non_fakeattack_weapons)) clone_weapon = clone.l_hand.name diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 8340911662c..337890429b4 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -85,7 +85,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp /mob/dead/observer/Move(NewLoc, direct) if(NewLoc) loc = NewLoc - for(var/obj/step_trigger/S in NewLoc) + for(var/obj/effect/step_trigger/S in NewLoc) S.HasEntered(src) return @@ -99,7 +99,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if((direct & WEST) && x > 1) x-- - for(var/obj/step_trigger/S in locate(x, y, z)) + for(var/obj/effect/step_trigger/S in locate(x, y, z)) S.HasEntered(src) /mob/dead/observer/examine() diff --git a/code/modules/mob/living/carbon/human/hud.dm b/code/modules/mob/living/carbon/human/hud.dm index d489bf24543..9fe37d3ce69 100644 --- a/code/modules/mob/living/carbon/human/hud.dm +++ b/code/modules/mob/living/carbon/human/hud.dm @@ -294,6 +294,14 @@ using.layer = 20 src.adding += using + using = new src.h_type( src ) + using.name = "equip" + using.icon = ui_style + using.icon_state = "act_equip" + using.screen_loc = ui_equip + using.layer = 20 + src.adding += using + /* using = new src.h_type( src ) using.name = "intent" diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index a88e1e6aea8..b0252637717 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -942,10 +942,6 @@ client.screen -= hud_used.intents client.screen -= hud_used.mov_int - - //Screenlocs for these slots are handled by the huds other_update() - //because theyre located on the 'other' inventory bar. - // Gloves var/datum/organ/external/lo = organs["l_hand"] var/datum/organ/external/ro = organs["r_hand"] @@ -1067,9 +1063,10 @@ clothing_overlays += image("icon" = 'back.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = BACK_LAYER) back.screen_loc = ui_back - if(client) hud_used.other_update() //Update the screenloc of the items on the 'other' inventory bar - //to hide / show them. - // WHAT IS THIS DOING IN UPDATE_CLOTHING(), AHHHHHHHHHHHHH + if(client) + client.screen -= contents + client.screen += contents + //to hide / show them. if (handcuffed) pulling = null var/h1 = handcuffed.icon_state @@ -1128,6 +1125,11 @@ clothing_overlays += image("icon" = stain_icon, "layer" = B_SUIT_LAYER) wear_suit.screen_loc = ui_oclothing + //Update_other() MUST be called after all the storage slots get updated. This is because all the storage slots assign their + //respective items a screen_loc, which other_update() will then override if needed. + if(client) + hud_used.other_update() //Update the screenloc of the items on the 'other' inventory bar + switch(shielded) if(1) overlays += image("icon" = 'effects.dmi', "icon_state" = "shield", "layer" = SHIELD_LAYER) @@ -1225,11 +1227,13 @@ if(lying) icon = lying_icon - overlays += body_overlays_lying + if(damageicon_lying) + overlays += body_overlays_lying if(!lying) icon = stand_icon - overlays += body_overlays_standing + if(damageicon_standing) + overlays += body_overlays_standing diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index fbb1c2f4fcf..a513f42bdbc 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -481,7 +481,7 @@ return null update_canmove() - if(sleeping || paralysis || stunned || weakened || resting || buckled || (changeling && changeling.changeling_fakedeath)) + if(stat || sleeping || paralysis || stunned || weakened || resting || buckled || (changeling && changeling.changeling_fakedeath)) canmove = 0 else diff --git a/code/modules/mob/living/silicon/robot/emote.dm b/code/modules/mob/living/silicon/robot/emote.dm index d9c13ba48f8..bd653712aa6 100644 --- a/code/modules/mob/living/silicon/robot/emote.dm +++ b/code/modules/mob/living/silicon/robot/emote.dm @@ -67,6 +67,25 @@ return message = "[src] [input]" + if ("me") + if(silent) + return + if (src.client && (client.muted || client.muted_complete)) + src << "You are muted." + return + if (stat) + return + if(!(message)) + return + else + if(cmptext(copytext(message, 1, 3), "v ")) + message = "[src] [copytext(message, 3)]" + m_type = 1 + else if(cmptext(copytext(message, 1, 3), "h ")) + message = "[src] [copytext(message, 3)]" + m_type = 2 + else + message = "[src] [message]" if ("twitch") message = "[src] twitches violently." m_type = 1 @@ -189,25 +208,7 @@ playsound(src.loc, 'biamthelaw.ogg', 50, 0) m_type = 2 - if ("me") - if(silent) - return - if (src.client && (client.muted || client.muted_complete)) - src << "You are muted." - return - if (stat) - return - if(!(message)) - return - else - if(cmptext(copytext(message, 1, 3), "v ")) - message = "[src] [copytext(message, 3)]" - m_type = 1 - else if(cmptext(copytext(message, 1, 3), "h ")) - message = "[src] [copytext(message, 3)]" - m_type = 2 - else - message = "[src] [message]" + if("help") src << "beep-(none)/mob, ping-(none)/mob, buzz-(none)/mob, look-(none)/mob, stare-(none)/mob, glare-(none)/mob, twitch, twitch_s, law" diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index e8523031224..30f5e66be48 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -420,11 +420,12 @@ if (istype(W, /obj/item/weapon/handcuffs)) // fuck i don't even know why isrobot() in handcuff code isn't working so this will have to do return - if (istype(W, /obj/item/weapon/weldingtool) && W:welding) + if (istype(W, /obj/item/weapon/weldingtool)) + var/obj/item/weapon/weldingtool/WT = W if(getBruteLoss() == 0) user << "There are no dents to fix here!" return - else if (W:remove_fuel(0)) + else if (WT.remove_fuel(0)) adjustBruteLoss(-30) if(getBruteLoss() < 0) bruteloss = 0 updatehealth() diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 7e7daa258ab..3d54b956cb2 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -12,7 +12,7 @@ //MOB overhaul //Not in use yet -// var/obj/organstructure/organStructure = null +// var/obj/effect/organstructure/organStructure = null //Vars that have been relocated to organStructure //Vars that have been relocated to organStructure ++END diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index e9cf67d60e4..f771488d26d 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -1,5 +1,3 @@ -//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 - /mob/CanPass(atom/movable/mover, turf/target, height=0, air_group=0) if(air_group || (height==0)) return 1 @@ -107,9 +105,6 @@ usr.hud_used.help_intent.icon_state = "help_small_active" usr.hud_used.grab_intent.icon_state = "grab_small" usr.hud_used.disarm_intent.icon_state = "disarm_small" - usr << "\blue Your intent is now \"[usr.a_intent]\"." - else - usr << "\red This mob type does not use intents." //This gets called when you press the delete button. /client/verb/delete_key_pressed() diff --git a/code/modules/mob/new_player/preferences.dm b/code/modules/mob/new_player/preferences.dm index 84c4f0f27a1..67f71f709ec 100644 --- a/code/modules/mob/new_player/preferences.dm +++ b/code/modules/mob/new_player/preferences.dm @@ -1,4 +1,4 @@ -//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 +//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33 #define UI_OLD 0 #define UI_NEW 1 @@ -439,14 +439,48 @@ datum/preferences if(job.title != new_title) job_alt_titles[job.title] = new_title - proc/SetChoices(mob/user, changedjob) + proc/SetChoices(mob/user, limit = 17, list/splitJobs, width = 550, height = 500) + //limit - The amount of jobs allowed per column. Defaults to 17 to make it look nice. + //splitJobs - Allows you split the table by job. You can make different tables for each department by including their heads. Defaults to CE to make it look nice. + //width - Screen' width. Defaults to 550 to make it look nice. + //height - Screen's height. Defaults to 500 to make it look nice. + + // Modify this if you added more jobs and it looks like a mess. Add the jobs in the splitJobs that you want to trigger and intitate a new table. + + if(splitJobs == null) + if (ticker.current_state >= GAME_STATE_PLAYING +) + splitJobs = list() + else + splitJobs = list("Chief Engineer") + + var/HTML = "" HTML += "
" - HTML += "Choose occupation chances
Unavailable occupations are in red.
" - HTML += "" + HTML += "Choose occupation chances
Unavailable occupations are in red.

" + HTML += "\[Done\]

" // Easier to press up here. + HTML += "
" // Table within a table for alignment, also allows you to easily add more colomns. + HTML += "" + var/index = -1 + + //The job before the current job. I only use this to get the previous jobs color when I'm filling in blank rows. + var/datum/job/lastJob + for(var/datum/job/job in job_master.occupations) + + index += 1 + if((index >= limit) || (job.title in splitJobs)) + if((index < limit) && (lastJob != null)) + //If the cells were broken up by a job in the splitJob list then it will fill in the rest of the cells with + //the last job's selection color. Creating a rather nice effect. + for(var/i = 0, i < (limit - index), i += 1) + HTML += "" + HTML += "
  
" + index = 0 + HTML += "" continue @@ -483,12 +517,10 @@ datum/preferences else HTML += "" - HTML += "
" var/rank = job.title + lastJob = job if(jobban_isbanned(user, rank)) HTML += "[rank] \[BANNED]

" - HTML += "\[Done\]" HTML += "" user << browse(null, "window=preferences") - user << browse(HTML, "window=mob_occupation;size=320x600") + user << browse(HTML, "window=mob_occupation;size=[width]x[height]") return diff --git a/code/modules/mob/screen.dm b/code/modules/mob/screen.dm index 944ef8122c3..726f141841a 100644 --- a/code/modules/mob/screen.dm +++ b/code/modules/mob/screen.dm @@ -303,6 +303,15 @@ usr.hud_used.other_update() + if("equip") + var/obj/item/I = usr.get_active_hand() + if(!I) + usr << "\blue You are not holding anything to equip." + return + if(ishuman(usr)) + var/mob/living/carbon/human/H = usr + H.equip_to_appropriate_slot(I) + if("maprefresh") var/obj/machinery/computer/security/seccomp = usr.machine diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index d83533c369d..05b1c48a284 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -394,29 +394,27 @@ else if (istype(W, /obj/item/weapon/module/power_control) && opened && has_electronics==0 && ((stat & BROKEN) || malfhack)) user << "\red You cannot put the board inside, the frame is damaged." return - else if (istype(W, /obj/item/weapon/weldingtool) && W:welding && opened && has_electronics==0 && !terminal) - if (W:get_fuel() < 3) - user << "\blue You need more welding fuel to do this." + else if (istype(W, /obj/item/weapon/weldingtool) && opened && has_electronics==0 && !terminal) + var/obj/item/weapon/weldingtool/WT = W + if (WT.get_fuel() < 3) + user << "\blue You need more welding fuel to complete this task." return user << "You start welding APC frame..." - if(W:remove_fuel(0,user)) - W:welding = 2 - playsound(src.loc, 'Welder.ogg', 50, 1) - if(do_after(user, 50)) - - if (emagged || malfhack || (stat & BROKEN) || opened==2) - new /obj/item/stack/sheet/metal(loc) - user.visible_message(\ - "\red \The [src] has been cut apart by [user.name] with the welding tool.",\ - "You disassemble the broken APC frame.",\ - "\red You hear welding.") - else - new /obj/item/apc_frame(loc) - user.visible_message(\ - "\red \The [src] has been cut from the wall by [user.name] with the welding tool.",\ - "You cut APC frame from the wall.",\ - "\red You hear welding.") - W:welding = 1 + playsound(src.loc, 'Welder.ogg', 50, 1) + if(do_after(user, 50)) + if(!src || !WT.remove_fuel(3, user)) return + if (emagged || malfhack || (stat & BROKEN) || opened==2) + new /obj/item/stack/sheet/metal(loc) + user.visible_message(\ + "\red [src] has been cut apart by [user.name] with the weldingtool.",\ + "You disassembled the broken APC frame.",\ + "\red You hear welding.") + else + new /obj/item/apc_frame(loc) + user.visible_message(\ + "\red [src] has been cut from the wall by [user.name] with the weldingtool.",\ + "You cut APC frame from the wall.",\ + "\red You hear welding.") del(src) return else if (istype(W, /obj/item/apc_frame) && opened && emagged) @@ -769,7 +767,7 @@ (istype(robot) && (robot in malfai.connected_robots)) \ ) \ ) - user << "\red \The [src] has it's AI control disabled!" + user << "\red \The [src] has its AI control disabled!" user << browse(null, "window=apc") user.machine = null return 0 diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index be46259e7ff..c421c563040 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -1,4 +1,4 @@ -//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 +//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33 /* new portable generator - work in progress @@ -57,15 +57,14 @@ display round(lastgen) and plasmatank amount var/recent_fault = 0 var/power_output = 1 - proc - HasFuel() //Placeholder for fuel check. - return 1 + proc/HasFuel() //Placeholder for fuel check. + return 1 - UseFuel() //Placeholder for fuel use. - return + proc/UseFuel() //Placeholder for fuel use. + return - handleInactive() - return + proc/handleInactive() + return process() if(active && HasFuel() && !crit_fail && anchored) diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index 6a439efe201..baab68ff9bb 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -1,4 +1,4 @@ -//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 +//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33 /obj/machinery/emitter name = "Emitter" @@ -149,7 +149,8 @@ user << "\red The [src.name] needs to be unwelded from the floor." return - if(istype(W, /obj/item/weapon/weldingtool) && W:welding) + if(istype(W, /obj/item/weapon/weldingtool)) + var/obj/item/weapon/weldingtool/WT = W if(active) user << "Turn off the [src] first." return @@ -157,29 +158,27 @@ if(0) user << "\red The [src.name] needs to be wrenched to the floor." if(1) - if (W:remove_fuel(0,user)) - W:welding = 2 + if (WT.remove_fuel(0,user)) playsound(src.loc, 'Welder2.ogg', 50, 1) user.visible_message("[user.name] starts to weld the [src.name] to the floor.", \ "You start to weld the [src] to the floor.", \ "You hear welding") if (do_after(user,20)) + if(!src || !WT.isOn()) return state = 2 user << "You weld the [src] to the floor." - W:welding = 1 else user << "\red You need more welding fuel to complete this task." if(2) - if (W:remove_fuel(0,user)) - W:welding = 2 + if (WT.remove_fuel(0,user)) playsound(src.loc, 'Welder2.ogg', 50, 1) user.visible_message("[user.name] starts to cut the [src.name] free from the floor.", \ "You start to cut the [src] free from the floor.", \ "You hear welding") if (do_after(user,20)) + if(!src || !WT.isOn()) return state = 1 user << "You cut the [src] free from the floor." - W:welding = 1 else user << "\red You need more welding fuel to complete this task." return diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm index cbf636bbb76..ab0b3fa862d 100644 --- a/code/modules/power/singularity/field_generator.dm +++ b/code/modules/power/singularity/field_generator.dm @@ -1,4 +1,4 @@ -//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 +//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33 var/containment_fail_announced = 0 @@ -119,35 +119,34 @@ field_generator power level display if(2) user << "\red The [src.name] needs to be unwelded from the floor." return - else if(istype(W, /obj/item/weapon/weldingtool) && W:welding) + else if(istype(W, /obj/item/weapon/weldingtool)) + var/obj/item/weapon/weldingtool/WT = W switch(state) if(0) user << "\red The [src.name] needs to be wrenched to the floor." return if(1) - if (W:remove_fuel(0,user)) - W:welding = 2 + if (WT.remove_fuel(0,user)) playsound(src.loc, 'Welder2.ogg', 50, 1) user.visible_message("[user.name] starts to weld the [src.name] to the floor.", \ "You start to weld the [src] to the floor.", \ "You hear welding") if (do_after(user,20)) + if(!src || !WT.isOn()) return state = 2 user << "You weld the field generator to the floor." - W:welding = 1 else return if(2) - if (W:remove_fuel(0,user)) - W:welding = 2 + if (WT.remove_fuel(0,user)) playsound(src.loc, 'Welder2.ogg', 50, 1) user.visible_message("[user.name] starts to cut the [src.name] free from the floor.", \ "You start to cut the [src] free from the floor.", \ "You hear welding") if (do_after(user,20)) + if(!src || !WT.isOn()) return state = 1 user << "You cut the [src] free from the floor." - W:welding = 2 else return else @@ -356,4 +355,5 @@ field_generator power level display if((world.time - O.last_warning) > 50) //to stop message-spam temp = 0 message_admins("A singulo exists and a containment field has failed.",1) + investigate_log("has failed whilst a singulo exists.","singulo") O.last_warning = world.time diff --git a/code/modules/recycling/disposal-construction.dm b/code/modules/recycling/disposal-construction.dm index f041e96828b..7d8025ff6c1 100644 --- a/code/modules/recycling/disposal-construction.dm +++ b/code/modules/recycling/disposal-construction.dm @@ -87,8 +87,11 @@ if(usr.stat) return + if(anchored) usr << "You must unfasten the pipe before rotating it." + return + dir = turn(dir, -90) update() @@ -100,6 +103,7 @@ if(anchored) usr << "You must unfasten the pipe before flipping it." + return dir = turn(dir, 180) if(ptype == 2) @@ -194,41 +198,44 @@ update() else if(istype(I, /obj/item/weapon/weldingtool)) - var/obj/item/weapon/weldingtool/W = I - if(W.remove_fuel(0,user)) - playsound(src.loc, 'Welder2.ogg', 100, 1) - user << "Welding the [nicetype] in place." - W:welding = 2 - if(do_after(user, 20)) - user << "The [nicetype] has been welded in place!" - update() // TODO: Make this neat - if(ispipe) // Pipe + if(anchored) + var/obj/item/weapon/weldingtool/W = I + if(W.remove_fuel(0,user)) + playsound(src.loc, 'Welder2.ogg', 100, 1) + user << "Welding the [nicetype] in place." + if(do_after(user, 20)) + if(!src || !W.isOn()) return + user << "The [nicetype] has been welded in place!" + update() // TODO: Make this neat + if(ispipe) // Pipe - var/pipetype = dpipetype() - var/obj/structure/disposalpipe/P = new pipetype(src.loc) - P.base_icon_state = base_state - P.dir = dir - P.dpdir = dpdir - P.updateicon() + var/pipetype = dpipetype() + var/obj/structure/disposalpipe/P = new pipetype(src.loc) + P.base_icon_state = base_state + P.dir = dir + P.dpdir = dpdir + P.updateicon() - else if(ptype==6) // Disposal bin - var/obj/machinery/disposal/P = new /obj/machinery/disposal(src.loc) - P.mode = 0 // start with pump off + else if(ptype==6) // Disposal bin + var/obj/machinery/disposal/P = new /obj/machinery/disposal(src.loc) + P.mode = 0 // start with pump off - else if(ptype==7) // Disposal outlet + else if(ptype==7) // Disposal outlet - var/obj/structure/disposaloutlet/P = new /obj/structure/disposaloutlet(src.loc) - P.dir = dir - Trunk.linked = P + var/obj/structure/disposaloutlet/P = new /obj/structure/disposaloutlet(src.loc) + P.dir = dir + Trunk.linked = P - else if(ptype==8) // Disposal outlet + else if(ptype==8) // Disposal outlet - var/obj/machinery/disposal/deliveryChute/P = new /obj/machinery/disposal/deliveryChute(src.loc) - P.dir = dir + var/obj/machinery/disposal/deliveryChute/P = new /obj/machinery/disposal/deliveryChute(src.loc) + P.dir = dir - del(src) + del(src) + return + else + user << "You need more welding fuel to complete this task." return - W:welding = 1 else - user << "You need more welding fuel to complete this task." + user << "You need to attach it to the plating first!" return diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index 5d9c16139a6..3ded32fecf0 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -48,6 +48,10 @@ if(isrobot(user) && !istype(I, /obj/item/weapon/trashbag)) return if(mode<=0) // It's off + if(contents.len > 0) + user << "Eject the items first!" + return + if(istype(I, /obj/item/weapon/screwdriver)) if(mode==0) // It's off but still not unscrewed mode=-1 // Set it to doubleoff l0l @@ -64,8 +68,9 @@ if(W.remove_fuel(0,user)) playsound(src.loc, 'Welder2.ogg', 100, 1) user << "You start slicing the floorweld off the disposal unit." - W:welding = 2 + if(do_after(user,20)) + if(!src || !W.isOn()) return user << "You sliced the floorweld off the disposal unit." var/obj/structure/disposalconstruct/C = new (src.loc) C.ptype = 6 // 6 = disposal unit @@ -73,7 +78,6 @@ C.density = 1 C.update() del(src) - W:welding = 1 return else user << "You need more welding fuel to complete this task." @@ -896,23 +900,21 @@ if(istype(I, /obj/item/weapon/weldingtool)) var/obj/item/weapon/weldingtool/W = I - if(W.welding) - if(W.remove_fuel(0,user)) - W:welding = 2 - playsound(src.loc, 'Welder2.ogg', 100, 1) - // check if anything changed over 2 seconds - var/turf/uloc = user.loc - var/atom/wloc = W.loc - user << "Slicing the disposal pipe." - sleep(30) - if(user.loc == uloc && wloc == W.loc) - welded() - else - user << "You must stay still while welding the pipe." - W:welding = 1 + if(W.remove_fuel(0,user)) + playsound(src.loc, 'Welder2.ogg', 100, 1) + // check if anything changed over 2 seconds + var/turf/uloc = user.loc + var/atom/wloc = W.loc + user << "Slicing the disposal pipe." + sleep(30) + if(!W.isOn()) return + if(user.loc == uloc && wloc == W.loc) + welded() else - user << "You need more welding fuel to cut the pipe." - return + user << "You must stay still while welding the pipe." + else + user << "You need more welding fuel to cut the pipe." + return // called when pipe is cut with welder proc/welded() @@ -1238,95 +1240,114 @@ return P + + + + //a trunk joining to a disposal bin or outlet on the same turf /obj/structure/disposalpipe/trunk icon_state = "pipe-t" var/obj/linked // the linked obj/machinery/disposal or obj/disposaloutlet - New() - ..() - dpdir = dir - spawn(1) - getlinked() +/obj/structure/disposalpipe/trunk/New() + ..() + dpdir = dir + spawn(1) + getlinked() - update() - return + update() + return - proc/getlinked() - linked = null - var/obj/machinery/disposal/D = locate() in src.loc - if(D) - linked = D - if (!D.trunk) - D.trunk = src +/obj/structure/disposalpipe/trunk/proc/getlinked() + linked = null + var/obj/machinery/disposal/D = locate() in src.loc + if(D) + linked = D + if (!D.trunk) + D.trunk = src - var/obj/structure/disposaloutlet/O = locate() in src.loc - if(O) - linked = O + var/obj/structure/disposaloutlet/O = locate() in src.loc + if(O) + linked = O - update() - return + update() + return // Override attackby so we disallow trunkremoval when somethings ontop - attackby(var/obj/item/I, var/mob/user) +/obj/structure/disposalpipe/trunk/attackby(var/obj/item/I, var/mob/user) - if(linked != null) + //Disposal bins or chutes + /* + These shouldn't be required + var/obj/machinery/disposal/D = locate() in src.loc + if(D && D.anchored) + return + + //Disposal outlet + var/obj/structure/disposaloutlet/O = locate() in src.loc + if(O && O.anchored) + return + */ + + //Disposal constructors + var/obj/structure/disposalconstruct/C = locate() in src.loc + if(C && C.anchored) + return + + + + var/turf/T = src.loc + if(T.intact) + return // prevent interaction with T-scanner revealed pipes + + if(istype(I, /obj/item/weapon/weldingtool)) + var/obj/item/weapon/weldingtool/W = I + + if(W.remove_fuel(0,user)) + playsound(src.loc, 'Welder2.ogg', 100, 1) + // check if anything changed over 2 seconds + var/turf/uloc = user.loc + var/atom/wloc = W.loc + user << "Slicing the disposal pipe." + sleep(30) + if(!W.isOn()) return + if(user.loc == uloc && wloc == W.loc) + welded() + else + user << "You must stay still while welding the pipe." + else + user << "You need more welding fuel to cut the pipe." return - var/turf/T = src.loc - if(T.intact) - return // prevent interaction with T-scanner revealed pipes - - if(istype(I, /obj/item/weapon/weldingtool)) - var/obj/item/weapon/weldingtool/W = I - - if(W.welding) - if(W.remove_fuel(0,user)) - W:welding = 2 - playsound(src.loc, 'Welder2.ogg', 100, 1) - // check if anything changed over 2 seconds - var/turf/uloc = user.loc - var/atom/wloc = W.loc - user << "Slicing the disposal pipe." - sleep(30) - if(user.loc == uloc && wloc == W.loc) - welded() - else - user << "You must stay still while welding the pipe." - W:welding = 1 - else - user << "You need more welding fuel to cut the pipe." - return - // would transfer to next pipe segment, but we are in a trunk // if not entering from disposal bin, // transfer to linked object (outlet or bin) - transfer(var/obj/structure/disposalholder/H) +/obj/structure/disposalpipe/trunk/transfer(var/obj/structure/disposalholder/H) - if(H.dir == DOWN) // we just entered from a disposer - return ..() // so do base transfer proc - // otherwise, go to the linked object - if(linked) - var/obj/structure/disposaloutlet/O = linked - if(istype(O) && (H)) - O.expel(H) // expel at outlet - else - var/obj/machinery/disposal/D = linked - if(H) - D.expel(H) // expel at disposal + if(H.dir == DOWN) // we just entered from a disposer + return ..() // so do base transfer proc + // otherwise, go to the linked object + if(linked) + var/obj/structure/disposaloutlet/O = linked + if(istype(O) && (H)) + O.expel(H) // expel at outlet else + var/obj/machinery/disposal/D = linked if(H) - src.expel(H, src.loc, 0) // expel at turf - return null + D.expel(H) // expel at disposal + else + if(H) + src.expel(H, src.loc, 0) // expel at turf + return null // nextdir - nextdir(var/fromdir) - if(fromdir == DOWN) - return dir - else - return 0 +/obj/structure/disposalpipe/trunk/nextdir(var/fromdir) + if(fromdir == DOWN) + return dir + else + return 0 // a broken pipe /obj/structure/disposalpipe/broken @@ -1369,6 +1390,11 @@ spawn(1) target = get_ranged_target_turf(src, dir, 10) + + var/obj/structure/disposalpipe/trunk/trunk = locate() in src.loc + if(trunk) + trunk.linked = src // link the pipe trunk to self + // expel the contents of the holder object, then delete it // called when the holder exits the outlet proc/expel(var/obj/structure/disposalholder/H) @@ -1419,8 +1445,8 @@ if(W.remove_fuel(0,user)) playsound(src.loc, 'Welder2.ogg', 100, 1) user << "You start slicing the floorweld off the disposal outlet." - W:welding = 2 if(do_after(user,20)) + if(!src || !W.isOn()) return user << "You sliced the floorweld off the disposal outlet." var/obj/structure/disposalconstruct/C = new (src.loc) C.ptype = 7 // 7 = outlet @@ -1428,7 +1454,6 @@ C.anchored = 1 C.density = 1 del(src) - W:welding = 1 return else user << "You need more welding fuel to complete this task." diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index d47bd60b162..641f2cc7aa6 100755 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -375,6 +375,14 @@ var/defaultDestination = "Disposals" var/c_mode = 0 + + New() + ..() + spawn(5) + trunk = locate() in src.loc + if(trunk) + trunk.linked = src // link the pipe trunk to self + interact() return @@ -451,8 +459,8 @@ if(W.remove_fuel(0,user)) playsound(src.loc, 'Welder2.ogg', 100, 1) user << "You start slicing the floorweld off the delivery chute." - W:welding = 2 if(do_after(user,20)) + if(!src || !W.isOn()) return user << "You sliced the floorweld off the delivery chute." var/obj/structure/disposalconstruct/C = new (src.loc) C.ptype = 8 // 8 = Delivery chute @@ -460,7 +468,6 @@ C.anchored = 1 C.density = 1 del(src) - W:welding = 1 return else user << "You need more welding fuel to complete this task." diff --git a/icons/mob/eyes.dmi b/icons/mob/eyes.dmi index df619e1d67f..5aec6ce9a6f 100644 Binary files a/icons/mob/eyes.dmi and b/icons/mob/eyes.dmi differ diff --git a/icons/mob/screen1_Midnight.dmi b/icons/mob/screen1_Midnight.dmi index e37b1cce29a..405e653687d 100644 Binary files a/icons/mob/screen1_Midnight.dmi and b/icons/mob/screen1_Midnight.dmi differ diff --git a/icons/mob/screen1_Orange.dmi b/icons/mob/screen1_Orange.dmi index fb1136a5347..5ace28041c6 100644 Binary files a/icons/mob/screen1_Orange.dmi and b/icons/mob/screen1_Orange.dmi differ diff --git a/icons/mob/screen1_old.dmi b/icons/mob/screen1_old.dmi index 37d67820992..03e76e44cb7 100644 Binary files a/icons/mob/screen1_old.dmi and b/icons/mob/screen1_old.dmi differ diff --git a/icons/obj/ERP.dmi b/icons/obj/ERP.dmi deleted file mode 100644 index 972ddab18f6..00000000000 Binary files a/icons/obj/ERP.dmi and /dev/null differ diff --git a/icons/obj/doors/Dooratmo.dmi b/icons/obj/doors/Dooratmo.dmi index 787d1483d60..70837f3e501 100644 Binary files a/icons/obj/doors/Dooratmo.dmi and b/icons/obj/doors/Dooratmo.dmi differ diff --git a/icons/obj/doors/Doorcomglass.dmi b/icons/obj/doors/Doorcomglass.dmi index a66adcd6741..f622f327681 100644 Binary files a/icons/obj/doors/Doorcomglass.dmi and b/icons/obj/doors/Doorcomglass.dmi differ diff --git a/icons/obj/doors/Doormining.dmi b/icons/obj/doors/Doormining.dmi index 6829029b164..f08a4000d1f 100644 Binary files a/icons/obj/doors/Doormining.dmi and b/icons/obj/doors/Doormining.dmi differ diff --git a/icons/obj/doors/Doorminingglass.dmi b/icons/obj/doors/Doorminingglass.dmi index 41d1ff24562..c6ec22a142a 100644 Binary files a/icons/obj/doors/Doorminingglass.dmi and b/icons/obj/doors/Doorminingglass.dmi differ diff --git a/icons/obj/pda.dmi b/icons/obj/pda.dmi index a3dea0e843d..8418708ddbb 100644 Binary files a/icons/obj/pda.dmi and b/icons/obj/pda.dmi differ diff --git a/maps/tgstation.2.0.8.dmm b/maps/tgstation.2.0.8.dmm index 37602531a50..96e74ec4da3 100755 --- a/maps/tgstation.2.0.8.dmm +++ b/maps/tgstation.2.0.8.dmm @@ -5943,21 +5943,21 @@ "cko" = (/turf/space,/area/syndicate_station/one) "ckp" = (/turf/space,/area/syndicate_station/four) "ckq" = (/turf/unsimulated/wall,/area) -"ckr" = (/obj/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns15,/area) -"cks" = (/obj/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns9,/area) -"ckt" = (/obj/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns5,/area) -"cku" = (/obj/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns12,/area) -"ckv" = (/obj/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns8,/area) -"ckw" = (/obj/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns3,/area) -"ckx" = (/obj/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns6,/area) -"cky" = (/obj/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns7,/area) -"ckz" = (/obj/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns4,/area) -"ckA" = (/obj/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns14,/area) -"ckB" = (/obj/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns1,/area) -"ckC" = (/obj/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns11,/area) -"ckD" = (/obj/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns13,/area) -"ckE" = (/obj/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns2,/area) -"ckF" = (/obj/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns10,/area) +"ckr" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns15,/area) +"cks" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns9,/area) +"ckt" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns5,/area) +"cku" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns12,/area) +"ckv" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns8,/area) +"ckw" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns3,/area) +"ckx" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns6,/area) +"cky" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns7,/area) +"ckz" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns4,/area) +"ckA" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns14,/area) +"ckB" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns1,/area) +"ckC" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns11,/area) +"ckD" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns13,/area) +"ckE" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns2,/area) +"ckF" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns10,/area) "ckG" = (/turf/space/transit/east/shuttlespace_ew13,/area) "ckH" = (/turf/space/transit/east/shuttlespace_ew14,/area) "ckI" = (/turf/space/transit/east/shuttlespace_ew15,/area) @@ -5965,21 +5965,21 @@ "ckK" = (/turf/space/transit/east/shuttlespace_ew2,/area) "ckL" = (/turf/space/transit/east/shuttlespace_ew3,/area) "ckM" = (/turf/space/transit/east/shuttlespace_ew4,/area) -"ckN" = (/obj/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew5,/area) -"ckO" = (/obj/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew6,/area) -"ckP" = (/obj/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew7,/area) -"ckQ" = (/obj/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew8,/area) -"ckR" = (/obj/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew9,/area) -"ckS" = (/obj/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew10,/area) -"ckT" = (/obj/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew11,/area) -"ckU" = (/obj/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew12,/area) -"ckV" = (/obj/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew13,/area) -"ckW" = (/obj/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew14,/area) -"ckX" = (/obj/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew15,/area) -"ckY" = (/obj/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew1,/area) -"ckZ" = (/obj/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew2,/area) -"cla" = (/obj/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew3,/area) -"clb" = (/obj/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew4,/area) +"ckN" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew5,/area) +"ckO" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew6,/area) +"ckP" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew7,/area) +"ckQ" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew8,/area) +"ckR" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew9,/area) +"ckS" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew10,/area) +"ckT" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew11,/area) +"ckU" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew12,/area) +"ckV" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew13,/area) +"ckW" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew14,/area) +"ckX" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew15,/area) +"ckY" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew1,/area) +"ckZ" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew2,/area) +"cla" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew3,/area) +"clb" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew4,/area) "clc" = (/turf/space{icon_state = "black"},/area) "cld" = (/turf/unsimulated/wall{icon = 'mineral_walls.dmi'; icon_state = "iron6"},/area) "cle" = (/obj/structure/window/reinforced,/turf/unsimulated/wall{icon = 'mineral_walls.dmi'; icon_state = "iron12"},/area) @@ -6026,31 +6026,31 @@ "clT" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_emptycourt) "clU" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "blue"},/area/holodeck/source_emptycourt) "clV" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "blue"},/area/holodeck/source_emptycourt) -"clW" = (/obj/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew13,/area) -"clX" = (/obj/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew14,/area) -"clY" = (/obj/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew15,/area) -"clZ" = (/obj/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew1,/area) -"cma" = (/obj/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew2,/area) -"cmb" = (/obj/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew3,/area) -"cmc" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns13,/area) -"cmd" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area) -"cme" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area) -"cmf" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns8,/area) -"cmg" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area) -"cmh" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area) -"cmi" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area) -"cmj" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns2,/area) -"cmk" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns13,/area) -"cml" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area) -"cmm" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area) -"cmn" = (/obj/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew8,/area) +"clW" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew13,/area) +"clX" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew14,/area) +"clY" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew15,/area) +"clZ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew1,/area) +"cma" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew2,/area) +"cmb" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew3,/area) +"cmc" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns13,/area) +"cmd" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area) +"cme" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area) +"cmf" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns8,/area) +"cmg" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area) +"cmh" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area) +"cmi" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area) +"cmj" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns2,/area) +"cmk" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns13,/area) +"cml" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area) +"cmm" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area) +"cmn" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew8,/area) "cmo" = (/turf/space/transit/east/shuttlespace_ew7,/area/shuttle/escape_pod5/transit) "cmp" = (/turf/space/transit/east/shuttlespace_ew8,/area/shuttle/escape_pod5/transit) "cmq" = (/turf/space/transit/east/shuttlespace_ew9,/area/shuttle/escape_pod5/transit) "cmr" = (/turf/space/transit/east/shuttlespace_ew10,/area/shuttle/escape_pod5/transit) -"cms" = (/obj/step_trigger/thrower{direction = 1; name = "thrower_throwup"; nostop = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew13,/area) -"cmt" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area) -"cmu" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area) +"cms" = (/obj/effect/step_trigger/thrower{direction = 1; name = "thrower_throwup"; nostop = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew13,/area) +"cmt" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area) +"cmu" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area) "cmv" = (/turf/space/transit/north/shuttlespace_ns12,/area/shuttle/escape/transit) "cmw" = (/turf/space/transit/north/shuttlespace_ns14,/area/shuttle/escape/transit) "cmx" = (/turf/space/transit/north/shuttlespace_ns9,/area/shuttle/escape/transit) @@ -6062,34 +6062,34 @@ "cmD" = (/turf/space/transit/east/shuttlespace_ew3,/area/shuttle/escape_pod5/transit) "cmE" = (/turf/space/transit/east/shuttlespace_ew4,/area/shuttle/escape_pod5/transit) "cmF" = (/turf/space/transit/east/shuttlespace_ew5,/area/shuttle/escape_pod5/transit) -"cmG" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; stopper = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew7,/area) +"cmG" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; stopper = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew7,/area) "cmH" = (/turf/simulated/floor/holofloor{icon_state = "bluecorner"},/area/holodeck/source_emptycourt) "cmI" = (/turf/simulated/floor/holofloor{icon_state = "blue"},/area/holodeck/source_emptycourt) "cmJ" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "bluecorner"},/area/holodeck/source_emptycourt) -"cmK" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area) +"cmK" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area) "cmL" = (/turf/space/transit/north/shuttlespace_ns2,/area/shuttle/escape/transit) "cmM" = (/turf/space/transit/north/shuttlespace_ns13,/area/shuttle/escape/transit) "cmN" = (/turf/space/transit/north/shuttlespace_ns10,/area/shuttle/escape/transit) "cmO" = (/turf/space/transit/north/shuttlespace_ns7,/area/shuttle/escape/transit) -"cmP" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area) -"cmQ" = (/obj/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew7,/area) +"cmP" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area) +"cmQ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew7,/area) "cmR" = (/turf/space/transit/east/shuttlespace_ew11,/area/shuttle/escape_pod5/transit) "cmS" = (/turf/space/transit/east/shuttlespace_ew12,/area/shuttle/escape_pod5/transit) "cmT" = (/turf/space/transit/east/shuttlespace_ew13,/area/shuttle/escape_pod5/transit) "cmU" = (/turf/space/transit/east/shuttlespace_ew14,/area/shuttle/escape_pod5/transit) -"cmV" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; stopper = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew12,/area) +"cmV" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; stopper = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew12,/area) "cmW" = (/turf/simulated/floor/holofloor{dir = 10; icon_state = "blue"},/area/holodeck/source_emptycourt) "cmX" = (/turf/simulated/floor/holofloor{dir = 6; icon_state = "blue"},/area/holodeck/source_emptycourt) "cmY" = (/turf/space/transit/north/shuttlespace_ns1,/area/shuttle/escape/transit) "cmZ" = (/turf/space/transit/north/shuttlespace_ns6,/area/shuttle/escape/transit) -"cna" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area) -"cnb" = (/obj/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew4,/area) -"cnc" = (/obj/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew5,/area) +"cna" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area) +"cnb" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew4,/area) +"cnc" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew5,/area) "cnd" = (/turf/unsimulated/wall{icon = 'mineral_walls.dmi'; icon_state = "iron7"},/area) "cne" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/wall{icon = 'mineral_walls.dmi'; icon_state = "iron12"},/area) "cnf" = (/turf/unsimulated/wall{icon = 'mineral_walls.dmi'; icon_state = "iron11"},/area) "cng" = (/turf/space/transit/north/shuttlespace_ns5,/area/shuttle/escape/transit) -"cnh" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns2,/area) +"cnh" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns2,/area) "cni" = (/turf/simulated/floor/holofloor/grass,/area/holodeck/source_beach) "cnj" = (/obj/structure/table/holotable,/obj/machinery/readybutton,/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_thunderdomecourt) "cnk" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/under/color/red,/obj/item/weapon/melee/energy/sword/holosword/red,/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_thunderdomecourt) @@ -6101,7 +6101,7 @@ "cnq" = (/turf/simulated/floor/holofloor,/area/holodeck/source_boxingcourt) "cnr" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove{icon_state = "boxingyellow"},/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_boxingcourt) "cns" = (/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_boxingcourt) -"cnt" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns1,/area) +"cnt" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns1,/area) "cnu" = (/obj/effect/overlay{anchored = 1; icon = 'icons/misc/beach2.dmi'; icon_state = "palm2"; layer = 10; name = "palm tree"},/turf/simulated/floor/holofloor/grass,/area/holodeck/source_beach) "cnv" = (/obj/effect/overlay{anchored = 1; icon = 'icons/misc/beach2.dmi'; icon_state = "palm1"; layer = 10; name = "palm tree"},/turf/simulated/floor/holofloor/grass,/area/holodeck/source_beach) "cnw" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_thunderdomecourt) @@ -6114,34 +6114,34 @@ "cnD" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_boxingcourt) "cnE" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "redcorner"},/area/holodeck/source_boxingcourt) "cnF" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_boxingcourt) -"cnG" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns15,/area) -"cnH" = (/obj/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew6,/area) -"cnI" = (/obj/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew9,/area) +"cnG" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns15,/area) +"cnH" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew6,/area) +"cnI" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew9,/area) "cnJ" = (/turf/simulated/floor/holofloor,/area/holodeck/source_thunderdomecourt) "cnK" = (/turf/space/transit/north/shuttlespace_ns3,/area/shuttle/escape/transit) -"cnL" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area) -"cnM" = (/obj/step_trigger/thrower{direction = 1; name = "thrower_throwup"; nostop = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew14,/area) -"cnN" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns13,/area) -"cnO" = (/obj/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew11,/area) -"cnP" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; stopper = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew1,/area) +"cnL" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area) +"cnM" = (/obj/effect/step_trigger/thrower{direction = 1; name = "thrower_throwup"; nostop = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew14,/area) +"cnN" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns13,/area) +"cnO" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew11,/area) +"cnP" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; stopper = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew1,/area) "cnQ" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_thunderdomecourt) "cnR" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor,/area/holodeck/source_thunderdomecourt) "cnS" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_thunderdomecourt) -"cnT" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns12,/area) -"cnU" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; stopper = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew10,/area) +"cnT" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns12,/area) +"cnU" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; stopper = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew10,/area) "cnV" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor{dir = 8; icon_state = "blue"},/area/holodeck/source_thunderdomecourt) "cnW" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor,/area/holodeck/source_thunderdomecourt) "cnX" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor{dir = 4; icon_state = "blue"},/area/holodeck/source_thunderdomecourt) "cnY" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "blue"},/area/holodeck/source_boxingcourt) "cnZ" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "blue"},/area/holodeck/source_boxingcourt) -"coa" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area) -"cob" = (/obj/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew10,/area) -"coc" = (/obj/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew12,/area) +"coa" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area) +"cob" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew10,/area) +"coc" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew12,/area) "cod" = (/turf/simulated/floor/holofloor{icon = 'beach.dmi'; icon_state = "sand"; name = "Soft sand"},/area/holodeck/source_beach) "coe" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "blue"},/area/holodeck/source_thunderdomecourt) "cof" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "blue"},/area/holodeck/source_thunderdomecourt) -"cog" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area) -"coh" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area) +"cog" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area) +"coh" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area) "coi" = (/turf/simulated/floor/holofloor{icon = 'icons/misc/beach2.dmi'; icon_state = "sandwater"; name = "Beach Front"},/area/holodeck/source_beach) "coj" = (/turf/simulated/floor/holofloor{icon_state = "bluecorner"},/area/holodeck/source_thunderdomecourt) "cok" = (/turf/simulated/floor/holofloor{icon_state = "blue"},/area/holodeck/source_thunderdomecourt) @@ -6149,7 +6149,7 @@ "com" = (/turf/simulated/floor/holofloor{icon_state = "bluecorner"},/area/holodeck/source_boxingcourt) "con" = (/turf/simulated/floor/holofloor{icon_state = "blue"},/area/holodeck/source_boxingcourt) "coo" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "bluecorner"},/area/holodeck/source_boxingcourt) -"cop" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns8,/area) +"cop" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns8,/area) "coq" = (/obj/effect/overlay{anchored = 1; icon = 'beach.dmi'; icon_state = "water2"; layer = 10; mouse_opacity = 0; name = "water"},/turf/simulated/floor/holofloor{icon = 'beach.dmi'; icon_plating = "water"; icon_regular_floor = "water"; icon_state = "water"; name = "Water"},/area/holodeck/source_beach) "cor" = (/turf/simulated/floor/holofloor{dir = 10; icon_state = "blue"},/area/holodeck/source_thunderdomecourt) "cos" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/under/color/green,/obj/item/weapon/melee/energy/sword/holosword/green,/turf/simulated/floor/holofloor{dir = 6; icon_state = "blue"},/area/holodeck/source_thunderdomecourt) @@ -6160,12 +6160,12 @@ "cox" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove,/turf/simulated/floor/holofloor{dir = 6; icon_state = "blue"},/area/holodeck/source_boxingcourt) "coy" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove,/turf/simulated/floor/holofloor{dir = 10; icon_state = "blue"},/area/holodeck/source_boxingcourt) "coz" = (/turf/simulated/floor/holofloor{dir = 6; icon_state = "blue"},/area/holodeck/source_boxingcourt) -"coA" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area) +"coA" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area) "coB" = (/turf/unsimulated/wall{icon = 'mineral_walls.dmi'; icon_state = "iron5"},/area) "coC" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{icon = 'mineral_walls.dmi'; icon_state = "iron12"},/area) "coD" = (/turf/unsimulated/wall{icon = 'mineral_walls.dmi'; icon_state = "iron13"},/area) "coE" = (/turf/unsimulated/wall{icon = 'mineral_walls.dmi'; icon_state = "iron9"},/area) -"coF" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area) +"coF" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area) "coG" = (/turf/space,/area/shuttle/escape_pod1/centcom) "coH" = (/turf/space,/area/shuttle/escape_pod2/centcom) "coI" = (/turf/space,/area/shuttle/escape_pod3/centcom) @@ -6228,14 +6228,14 @@ "cpN" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/centcom/evac) "cpO" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/centcom/evac) "cpP" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_l"; dir = 8},/turf/space,/area/centcom/evac) -"cpQ" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns15,/area) -"cpR" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area) -"cpS" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area) -"cpT" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns1,/area) -"cpU" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area) -"cpV" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns2,/area) -"cpW" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area) -"cpX" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area) +"cpQ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns15,/area) +"cpR" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area) +"cpS" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area) +"cpT" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns1,/area) +"cpU" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area) +"cpV" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns2,/area) +"cpW" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area) +"cpX" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area) "cpY" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/centcom/evac) "cpZ" = (/obj/machinery/computer/secure_data,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac) "cqa" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/centcom/evac) @@ -6243,12 +6243,12 @@ "cqc" = (/turf/space/transit/north/shuttlespace_ns9,/area/shuttle/escape_pod1/transit) "cqd" = (/turf/space/transit/north/shuttlespace_ns4,/area/shuttle/escape_pod1/transit) "cqe" = (/turf/space/transit/north/shuttlespace_ns6,/area/shuttle/escape_pod1/transit) -"cqf" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area) -"cqg" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns1,/area) +"cqf" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area) +"cqg" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns1,/area) "cqh" = (/turf/space/transit/north/shuttlespace_ns11,/area/shuttle/escape_pod2/transit) "cqi" = (/turf/space/transit/north/shuttlespace_ns1,/area/shuttle/escape_pod2/transit) "cqj" = (/turf/space/transit/north/shuttlespace_ns7,/area/shuttle/escape_pod2/transit) -"cqk" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns13,/area) +"cqk" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns13,/area) "cql" = (/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; req_access_txt = "100"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac) "cqm" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/PDAbox{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/id_kit{pixel_x = 2},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac) "cqn" = (/obj/structure/table,/obj/item/weapon/book/manual/medical_cloning{pixel_y = 6},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/centcom/evac) @@ -6258,29 +6258,29 @@ "cqr" = (/turf/space/transit/north/shuttlespace_ns8,/area/shuttle/escape_pod1/transit) "cqs" = (/turf/space/transit/north/shuttlespace_ns3,/area/shuttle/escape_pod1/transit) "cqt" = (/turf/space/transit/north/shuttlespace_ns5,/area/shuttle/escape_pod1/transit) -"cqu" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area) +"cqu" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area) "cqv" = (/turf/space/transit/north/shuttlespace_ns10,/area/shuttle/escape_pod2/transit) "cqw" = (/turf/space/transit/north/shuttlespace_ns15,/area/shuttle/escape_pod2/transit) "cqx" = (/turf/space/transit/north/shuttlespace_ns6,/area/shuttle/escape_pod2/transit) -"cqy" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns12,/area) +"cqy" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns12,/area) "cqz" = (/turf/space/transit/north/shuttlespace_ns7,/area/shuttle/escape_pod1/transit) "cqA" = (/turf/space/transit/north/shuttlespace_ns2,/area/shuttle/escape_pod1/transit) -"cqB" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns8,/area) +"cqB" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns8,/area) "cqC" = (/turf/space/transit/north/shuttlespace_ns9,/area/shuttle/escape_pod2/transit) "cqD" = (/turf/space/transit/north/shuttlespace_ns14,/area/shuttle/escape_pod2/transit) "cqE" = (/turf/space/transit/north/shuttlespace_ns5,/area/shuttle/escape_pod2/transit) "cqF" = (/turf/space/transit/north/shuttlespace_ns1,/area/shuttle/escape_pod1/transit) -"cqG" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area) +"cqG" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area) "cqH" = (/turf/space/transit/north/shuttlespace_ns8,/area/shuttle/escape_pod2/transit) "cqI" = (/turf/space/transit/north/shuttlespace_ns13,/area/shuttle/escape_pod2/transit) "cqJ" = (/turf/space/transit/north/shuttlespace_ns4,/area/shuttle/escape_pod2/transit) -"cqK" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area) -"cqL" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area) -"cqM" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area) +"cqK" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area) +"cqL" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area) +"cqM" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area) "cqN" = (/turf/space/transit/north/shuttlespace_ns13,/area/shuttle/escape_pod3/transit) "cqO" = (/turf/space/transit/north/shuttlespace_ns5,/area/shuttle/escape_pod3/transit) "cqP" = (/turf/space/transit/north/shuttlespace_ns15,/area/shuttle/escape_pod3/transit) -"cqQ" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area) +"cqQ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area) "cqR" = (/turf/space/transit/north/shuttlespace_ns12,/area/shuttle/escape_pod3/transit) "cqS" = (/turf/space/transit/north/shuttlespace_ns4,/area/shuttle/escape_pod3/transit) "cqT" = (/turf/space/transit/north/shuttlespace_ns14,/area/shuttle/escape_pod3/transit) diff --git a/tools/UnstandardnessTestForDM/UnstandardnessTestForDM.sln b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM.sln new file mode 100644 index 00000000000..22ed586bbbf --- /dev/null +++ b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnstandardnessTestForDM", "UnstandardnessTestForDM\UnstandardnessTestForDM.csproj", "{A0EEBFC9-41D4-474D-853D-126AFDFB82DE}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x86 = Debug|x86 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {A0EEBFC9-41D4-474D-853D-126AFDFB82DE}.Debug|x86.ActiveCfg = Debug|x86 + {A0EEBFC9-41D4-474D-853D-126AFDFB82DE}.Debug|x86.Build.0 = Debug|x86 + {A0EEBFC9-41D4-474D-853D-126AFDFB82DE}.Release|x86.ActiveCfg = Release|x86 + {A0EEBFC9-41D4-474D-853D-126AFDFB82DE}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/tools/UnstandardnessTestForDM/UnstandardnessTestForDM.suo b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM.suo new file mode 100644 index 00000000000..e62a5089375 Binary files /dev/null and b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM.suo differ diff --git a/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Form1.Designer.cs b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Form1.Designer.cs new file mode 100644 index 00000000000..5ea6e86aa7a --- /dev/null +++ b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Form1.Designer.cs @@ -0,0 +1,160 @@ +namespace UnstandardnessTestForDM +{ + partial class Form1 + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.button1 = new System.Windows.Forms.Button(); + this.listBox1 = new System.Windows.Forms.ListBox(); + this.panel1 = new System.Windows.Forms.Panel(); + this.listBox2 = new System.Windows.Forms.ListBox(); + this.label4 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.label5 = new System.Windows.Forms.Label(); + this.panel1.SuspendLayout(); + this.SuspendLayout(); + // + // button1 + // + this.button1.Location = new System.Drawing.Point(12, 12); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(222, 23); + this.button1.TabIndex = 0; + this.button1.Text = "Locate all #defines"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // listBox1 + // + this.listBox1.FormattingEnabled = true; + this.listBox1.Location = new System.Drawing.Point(12, 82); + this.listBox1.Name = "listBox1"; + this.listBox1.Size = new System.Drawing.Size(696, 160); + this.listBox1.TabIndex = 1; + this.listBox1.SelectedIndexChanged += new System.EventHandler(this.listBox1_SelectedIndexChanged); + // + // panel1 + // + this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel1.Controls.Add(this.listBox2); + this.panel1.Controls.Add(this.label4); + this.panel1.Controls.Add(this.label3); + this.panel1.Controls.Add(this.label2); + this.panel1.Controls.Add(this.label1); + this.panel1.Location = new System.Drawing.Point(12, 297); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(696, 244); + this.panel1.TabIndex = 2; + // + // listBox2 + // + this.listBox2.FormattingEnabled = true; + this.listBox2.Location = new System.Drawing.Point(8, 71); + this.listBox2.Name = "listBox2"; + this.listBox2.Size = new System.Drawing.Size(683, 160); + this.listBox2.TabIndex = 4; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(5, 55); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(69, 13); + this.label4.TabIndex = 3; + this.label4.Text = "Referenced: "; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(5, 42); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(40, 13); + this.label3.TabIndex = 2; + this.label3.Text = "Value: "; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(5, 29); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(61, 13); + this.label2.TabIndex = 1; + this.label2.Text = "Defined in: "; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label1.Location = new System.Drawing.Point(3, 0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(79, 29); + this.label1.TabIndex = 0; + this.label1.Text = "label1"; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(9, 38); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(81, 13); + this.label5.TabIndex = 3; + this.label5.Text = "Files searched: "; + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(720, 553); + this.Controls.Add(this.label5); + this.Controls.Add(this.panel1); + this.Controls.Add(this.listBox1); + this.Controls.Add(this.button1); + this.Name = "Form1"; + this.Text = "Unstandardness Test For DM"; + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button button1; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label1; + public System.Windows.Forms.ListBox listBox2; + public System.Windows.Forms.Label label5; + public System.Windows.Forms.ListBox listBox1; + } +} + diff --git a/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Form1.cs b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Form1.cs new file mode 100644 index 00000000000..4966c3f0c18 --- /dev/null +++ b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Form1.cs @@ -0,0 +1,484 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using System.Collections; +using System.IO; + +namespace UnstandardnessTestForDM +{ + public partial class Form1 : Form + { + DMSource source; + + public Form1() + { + InitializeComponent(); + source = new DMSource(); + source.mainform = this; + } + + private void button1_Click(object sender, EventArgs e) + { + source.find_all_defines(); + generate_define_report(); + } + + public void generate_define_report() + { + + TextWriter tw = new StreamWriter("DEFINES REPORT.txt"); + + tw.WriteLine("Unstandardness Test For DM report for DEFINES"); + tw.WriteLine("Generated on " + DateTime.Now); + tw.WriteLine("Total number of defines " + source.defines.Count()); + tw.WriteLine("Total number of Files " + source.filessearched); + tw.WriteLine("Total number of references " + source.totalreferences); + tw.WriteLine("Total number of errorous defines " + source.errordefines); + tw.WriteLine("------------------------------------------------"); + + foreach (Define d in source.defines) + { + tw.WriteLine(d.name); + tw.WriteLine("\tValue: " + d.value); + tw.WriteLine("\tComment: " + d.comment); + tw.WriteLine("\tDefined in: " + d.location + " : " + d.line); + tw.WriteLine("\tNumber of references: " + d.references.Count()); + foreach (String s in d.references) + { + tw.WriteLine("\t\t" + s); + } + } + + tw.WriteLine("------------------------------------------------"); + tw.WriteLine("SUCCESS"); + + tw.Close(); + + } + + private void listBox1_SelectedIndexChanged(object sender, EventArgs e) + { + try + { + Define d = (Define)listBox1.Items[listBox1.SelectedIndex]; + label1.Text = d.name; + label2.Text = "Defined in: " + d.location + " : " + d.line; + label3.Text = "Value: " + d.value; + label4.Text = "References: " + d.references.Count(); + listBox2.Items.Clear(); + foreach (String s in d.references) + { + listBox2.Items.Add(s); + } + + } + catch (Exception ex) { Console.WriteLine("ERROR HERE: " + ex.Message); } + } + + + } + + public class DMSource + { + public List defines; + public const int FLAG_DEFINE = 1; + public Form1 mainform; + + public int filessearched = 0; + public int totalreferences = 0; + public int errordefines = 0; + + public List filenames; + + public DMSource() + { + defines = new List(); + filenames = new List(); + } + + public void find_all_defines() + { + find_all_files(); + foreach(String filename in filenames){ + searchFileForDefines(filename); + } + + } + + public void find_all_files() + { + filenames = new List(); + String dmefilename = ""; + + foreach (string f in Directory.GetFiles(".")) + { + if (f.ToLower().EndsWith(".dme")) + { + dmefilename = f; + break; + } + } + + if (dmefilename.Equals("")) + { + MessageBox.Show("dme file not found"); + return; + } + + using (var reader = File.OpenText(dmefilename)) + { + String s; + while (true) + { + s = reader.ReadLine(); + + if (!(s is String)) + break; + + if (s.StartsWith("#include")) + { + int start = s.IndexOf("\"")+1; + s = s.Substring(start, s.Length - 11); + + if (s.EndsWith(".dm")) + { + filenames.Add(s); + } + } + + s = s.Trim(' '); + if (s == "") { continue; } + } + reader.Close(); + } + } + + + public void DirSearch(string sDir, int flag) + { + try + { + foreach (string d in Directory.GetDirectories(sDir)) + { + foreach (string f in Directory.GetFiles(d)) + { + if (f.ToLower().EndsWith(".dm")) + { + if ((flag & FLAG_DEFINE) > 0) + { + searchFileForDefines(f); + } + } + } + DirSearch(d, flag); + } + } + catch (System.Exception excpt) + { + Console.WriteLine("ERROR IN DIRSEARCH"); + Console.WriteLine(excpt.Message); + Console.WriteLine(excpt.Data); + Console.WriteLine(excpt.ToString()); + Console.WriteLine(excpt.StackTrace); + Console.WriteLine("END OF ERROR IN DIRSEARCH"); + } + } + + //DEFINES + public void searchFileForDefines(String fileName) + { + filessearched++; + FileInfo f = new FileInfo(fileName); + List lines = new List(); + List lines_without_comments = new List(); + + mainform.label5.Text = "Files searched: " + filessearched + "; Defines found: " + defines.Count() + "; References found: " + totalreferences + "; Errorous defines: " + errordefines; + mainform.label5.Refresh(); + + //This code segment reads the file and stores it into the lines variable. + using (var reader = File.OpenText(fileName)) + { + try + { + String s; + while (true) + { + s = reader.ReadLine(); + lines.Add(s); + s = s.Trim(' '); + if (s == "") { continue; } + } + } + catch { } + reader.Close(); + } + + mainform.listBox1.Items.Add("ATTEMPTING: " + fileName); + lines_without_comments = remove_comments(lines); + + /*TextWriter tw = new StreamWriter(fileName); + foreach (String s in lines_without_comments) + { + tw.WriteLine(s); + } + tw.Close(); + mainform.listBox1.Items.Add("REWRITE: "+fileName);*/ + + try + { + for (int i = 0; i < lines_without_comments.Count; i++) + { + String line = lines_without_comments[i]; + + if (!(line is string)) + continue; + + //Console.WriteLine("LINE: " + line); + + foreach (Define define in defines) + { + + if (line.IndexOf(define.name) >= 0) + { + define.references.Add(fileName + " : " + i); + totalreferences++; + } + } + + if( line.ToLower().IndexOf("#define") >= 0 ) + { + line = line.Trim(); + line = line.Replace('\t', ' '); + //Console.WriteLine("LINE = "+line); + String[] slist = line.Split(' '); + if(slist.Length >= 3){ + //slist[0] has the value of "#define" + String name = slist[1]; + String value = slist[2]; + + for (int j = 3; j < slist.Length; j++) + { + value += " " + slist[j]; + //Console.WriteLine("LISTITEM["+j+"] = "+slist[j]); + } + + value = value.Trim(); + + String comment = ""; + + if (value.IndexOf("//") >= 0) + { + comment = value.Substring(value.IndexOf("//")); + value = value.Substring(0, value.IndexOf("//")); + } + + comment = comment.Trim(); + value = value.Trim(); + + Define d = new Define(fileName,i,name,value,comment); + defines.Add(d); + mainform.listBox1.Items.Add(d); + mainform.listBox1.Refresh(); + }else{ + Define d = new Define(fileName, i, "ERROR ERROR", "Something went wrong here", line); + errordefines++; + defines.Add(d); + mainform.listBox1.Items.Add(d); + mainform.listBox1.Refresh(); + } + } + } + } + catch (Exception e) { + Console.WriteLine(e.Message); + Console.WriteLine(e.StackTrace); + MessageBox.Show("Exception: " + e.Message + " | " + e.ToString()); + } + } + + bool iscomment = false; + int ismultilinecomment = 0; + bool isstring = false; + bool ismultilinestring = false; + int escapesequence = 0; + int stringvar = 0; + + public List remove_comments(List lines) + { + List r = new List(); + + iscomment = false; + ismultilinecomment = 0; + isstring = false; + ismultilinestring = false; + + bool skiponechar = false; //Used so the / in */ doesn't get written; + + for (int i = 0; i < lines.Count(); i++) + { + + String line = lines[i]; + + if (!(line is String)) + continue; + + iscomment = false; + isstring = false; + char ca = ' '; + escapesequence = 0; + + String newline = ""; + + int k = line.Length; + + for (int j = 0; j < k; j++) + { + + char c = line.ToCharArray()[j]; + + if (escapesequence == 0) + if (normalstatus()) + { + if (ca == '/' && c == '/') + { + c = ' '; + iscomment = true; + + newline = newline.Remove(newline.Length - 1); + k = line.Length; + } + if (ca == '/' && c == '*') + { + c = ' '; + ismultilinecomment = 1; + newline = newline.Remove(newline.Length - 1); + k = line.Length; + } + if (c == '"') + { + isstring = true; + } + if (ca == '{' && c == '"') + { + ismultilinestring = true; + } + } + else if (isstring) + { + + if (c == '\\') + { + escapesequence = 2; + } + else if (stringvar > 0) + { + if (c == ']') + { + stringvar--; + } + else if (c == '[') + { + stringvar++; + } + } + else if (c == '"') + { + isstring = false; + } + else if (c == '[') + { + stringvar++; + } + } + else if (ismultilinestring) + { + if (ca == '"' && c == '}') + { + ismultilinestring = false; + } + } + else if (ismultilinecomment > 0) + { + if (ca == '/' && c == '*') + { + c = ' '; //These things are here to prevent /*/ from bieng interpreted as the start and end of a comment. + skiponechar = true; + ismultilinecomment++; + } + if (ca == '*' && c == '/') + { + c = ' '; //These things are here to prevent /*/ from bieng interpreted as the start and end of a comment. + skiponechar = true; + ismultilinecomment--; + } + } + + if (!iscomment && (ismultilinecomment==0) && !skiponechar) + { + newline += c; + } + + if (skiponechar) + { + skiponechar = false; + } + if (escapesequence > 0) + { + escapesequence--; + } + else + { + ca = c; + } + } + + r.Add(newline.TrimEnd()); + + } + + return r; + } + + private bool normalstatus() + { + return !isstring && !ismultilinestring && (ismultilinecomment==0) && !iscomment && (escapesequence == 0); + } + + + } + + public class Define + { + public String location; + public int line; + public String name; + public String value; + public String comment; + public List references; + + public Define(String location, int line, String name, String value, String comment) + { + this.location = location; + this.line = line; + this.name = name; + this.value = value; + this.comment = comment; + this.references = new List(); + } + + public override String ToString() + { + return "DEFINE: \""+name+"\" is defined as \""+value+"\" AT "+location+" : "+line; + } + + } + + + + +} diff --git a/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Form1.resx b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Form1.resx new file mode 100644 index 00000000000..1af7de150c9 --- /dev/null +++ b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Form1.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Program.cs b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Program.cs new file mode 100644 index 00000000000..1e8ac829d9e --- /dev/null +++ b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Program.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Windows.Forms; + +namespace UnstandardnessTestForDM +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Properties/AssemblyInfo.cs b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Properties/AssemblyInfo.cs new file mode 100644 index 00000000000..99c88721b31 --- /dev/null +++ b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("UnstandardnessTestForDM")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("UnstandardnessTestForDM")] +[assembly: AssemblyCopyright("Copyright © Microsoft 2012")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("c0e09000-1840-4416-8bb2-d86a8227adf1")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Properties/Resources.Designer.cs b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Properties/Resources.Designer.cs new file mode 100644 index 00000000000..92534f43fed --- /dev/null +++ b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.239 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace UnstandardnessTestForDM.Properties +{ + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("UnstandardnessTestForDM.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Properties/Resources.resx b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Properties/Resources.resx new file mode 100644 index 00000000000..af7dbebbace --- /dev/null +++ b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Properties/Settings.Designer.cs b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Properties/Settings.Designer.cs new file mode 100644 index 00000000000..ab81379593f --- /dev/null +++ b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.239 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace UnstandardnessTestForDM.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Properties/Settings.settings b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Properties/Settings.settings new file mode 100644 index 00000000000..39645652af6 --- /dev/null +++ b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/UnstandardnessTestForDM.csproj b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/UnstandardnessTestForDM.csproj new file mode 100644 index 00000000000..7cafd94f656 --- /dev/null +++ b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/UnstandardnessTestForDM.csproj @@ -0,0 +1,87 @@ + + + + Debug + x86 + 8.0.30703 + 2.0 + {A0EEBFC9-41D4-474D-853D-126AFDFB82DE} + WinExe + Properties + UnstandardnessTestForDM + UnstandardnessTestForDM + v4.0 + Client + 512 + + + x86 + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + x86 + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + Form + + + Form1.cs + + + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + \ No newline at end of file diff --git a/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/bin/Debug/UnstandardnessTestForDM.exe b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/bin/Debug/UnstandardnessTestForDM.exe new file mode 100644 index 00000000000..bb55cad8fd7 Binary files /dev/null and b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/bin/Debug/UnstandardnessTestForDM.exe differ diff --git a/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/bin/Debug/UnstandardnessTestForDM.pdb b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/bin/Debug/UnstandardnessTestForDM.pdb new file mode 100644 index 00000000000..b89e4d53eb7 Binary files /dev/null and b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/bin/Debug/UnstandardnessTestForDM.pdb differ diff --git a/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/bin/Debug/UnstandardnessTestForDM.vshost.exe b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/bin/Debug/UnstandardnessTestForDM.vshost.exe new file mode 100644 index 00000000000..bb84a51ac4f Binary files /dev/null and b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/bin/Debug/UnstandardnessTestForDM.vshost.exe differ diff --git a/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/bin/Debug/UnstandardnessTestForDM.vshost.exe.manifest b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/bin/Debug/UnstandardnessTestForDM.vshost.exe.manifest new file mode 100644 index 00000000000..061c9ca950d --- /dev/null +++ b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/bin/Debug/UnstandardnessTestForDM.vshost.exe.manifest @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 00000000000..f4263115dfb Binary files /dev/null and b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/GenerateResource.read.1.tlog b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/GenerateResource.read.1.tlog new file mode 100644 index 00000000000..247c250f975 Binary files /dev/null and b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/GenerateResource.read.1.tlog differ diff --git a/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/GenerateResource.write.1.tlog b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/GenerateResource.write.1.tlog new file mode 100644 index 00000000000..d100f54085b Binary files /dev/null and b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/GenerateResource.write.1.tlog differ diff --git a/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/UnstandardnessTestForDM.Form1.resources b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/UnstandardnessTestForDM.Form1.resources new file mode 100644 index 00000000000..6c05a9776bd Binary files /dev/null and b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/UnstandardnessTestForDM.Form1.resources differ diff --git a/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/UnstandardnessTestForDM.Properties.Resources.resources b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/UnstandardnessTestForDM.Properties.Resources.resources new file mode 100644 index 00000000000..6c05a9776bd Binary files /dev/null and b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/UnstandardnessTestForDM.Properties.Resources.resources differ diff --git a/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/UnstandardnessTestForDM.csproj.FileListAbsolute.txt b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/UnstandardnessTestForDM.csproj.FileListAbsolute.txt new file mode 100644 index 00000000000..1d36d1cd556 --- /dev/null +++ b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/UnstandardnessTestForDM.csproj.FileListAbsolute.txt @@ -0,0 +1,18 @@ +c:\users\baloh\documents\visual studio 2010\Projects\UnstandardnessTestForDM\UnstandardnessTestForDM\bin\Debug\UnstandardnessTestForDM.exe +c:\users\baloh\documents\visual studio 2010\Projects\UnstandardnessTestForDM\UnstandardnessTestForDM\bin\Debug\UnstandardnessTestForDM.pdb +c:\users\baloh\documents\visual studio 2010\Projects\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\ResolveAssemblyReference.cache +c:\users\baloh\documents\visual studio 2010\Projects\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\UnstandardnessTestForDM.Form1.resources +c:\users\baloh\documents\visual studio 2010\Projects\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\UnstandardnessTestForDM.Properties.Resources.resources +c:\users\baloh\documents\visual studio 2010\Projects\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\GenerateResource.read.1.tlog +c:\users\baloh\documents\visual studio 2010\Projects\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\GenerateResource.write.1.tlog +c:\users\baloh\documents\visual studio 2010\Projects\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\UnstandardnessTestForDM.exe +c:\users\baloh\documents\visual studio 2010\Projects\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\UnstandardnessTestForDM.pdb +C:\Users\Baloh\Desktop\tgs13\tools\UnstandardnessTestForDM\UnstandardnessTestForDM\bin\Debug\UnstandardnessTestForDM.exe +C:\Users\Baloh\Desktop\tgs13\tools\UnstandardnessTestForDM\UnstandardnessTestForDM\bin\Debug\UnstandardnessTestForDM.pdb +C:\Users\Baloh\Desktop\tgs13\tools\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\ResolveAssemblyReference.cache +C:\Users\Baloh\Desktop\tgs13\tools\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\UnstandardnessTestForDM.Form1.resources +C:\Users\Baloh\Desktop\tgs13\tools\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\UnstandardnessTestForDM.Properties.Resources.resources +C:\Users\Baloh\Desktop\tgs13\tools\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\GenerateResource.read.1.tlog +C:\Users\Baloh\Desktop\tgs13\tools\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\GenerateResource.write.1.tlog +C:\Users\Baloh\Desktop\tgs13\tools\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\UnstandardnessTestForDM.exe +C:\Users\Baloh\Desktop\tgs13\tools\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\UnstandardnessTestForDM.pdb diff --git a/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/UnstandardnessTestForDM.exe b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/UnstandardnessTestForDM.exe new file mode 100644 index 00000000000..bb55cad8fd7 Binary files /dev/null and b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/UnstandardnessTestForDM.exe differ diff --git a/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/UnstandardnessTestForDM.pdb b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/UnstandardnessTestForDM.pdb new file mode 100644 index 00000000000..b89e4d53eb7 Binary files /dev/null and b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/UnstandardnessTestForDM.pdb differ diff --git a/tools/readme.txt b/tools/readme.txt new file mode 100644 index 00000000000..a1c1a17c3ba --- /dev/null +++ b/tools/readme.txt @@ -0,0 +1,6 @@ +the compiled exe file for the Unstandardness text for DM program is in: +UnstandardnessTestForDM\bin\Debug\UnstandardnessTestForDM.exe +of +UnstandardnessTestForDM\bin\Release\UnstandardnessTestForDM.exe + +You have to move it to the root folder (where the dme file is) and run it from there for it to work. \ No newline at end of file