From 1ad450eb19451be3de958e88e1d2b6516a212b81 Mon Sep 17 00:00:00 2001 From: uporotiy Date: Mon, 27 Dec 2010 11:02:10 +0000 Subject: [PATCH] You need an agressive grip to table now, as well as being within one tile of the table (to nerf teletabling). Teleport only runs once at the beginning of the round, hopefully reducing the lag in wizard rounds. Wizards can't telepot back to their shuttle to afk now. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@707 316c924e-a436-60f5-8080-3fe189b3f50e --- code/defines/area/Space Station 13 areas.dm | 13 ++++++++++++ code/game/algorithm.dm | 1 + code/game/gamemodes/wizard/spell12.dm | 23 ++++++--------------- code/game/objects/tables_racks.dm | 5 ++++- icons/changelog.html | 16 +++++++++++--- tgstation.dme | 4 ++-- 6 files changed, 39 insertions(+), 23 deletions(-) diff --git a/code/defines/area/Space Station 13 areas.dm b/code/defines/area/Space Station 13 areas.dm index b7ad54a258..e59d745cc9 100644 --- a/code/defines/area/Space Station 13 areas.dm +++ b/code/defines/area/Space Station 13 areas.dm @@ -43,6 +43,19 @@ // (original area before splitting due to sd_DAL) var/list/related // the other areas of the same type as this +/*Adding a wizard area teleport list because motherfucking lag -- Urist*/ +/*I am far too lazy to make it a proper list of areas so I'll just make it run the usual telepot routine at the start of the game*/ +var/list/teleportlocs = list() + +proc/process_teleport_locs() + for(var/area/AR in world) + if(istype(AR, /area/shuttle) || istype(AR, /area/syndicate_station) || istype(AR, /area/wizard_station)) continue + if(teleportlocs.Find(AR.name)) continue + var/turf/picked = pick(get_area_turfs(AR.type)) + if (picked.z == 1) + teleportlocs += AR.name + teleportlocs[AR.name] = AR +/*-----------------------------------------------------------------------------*/ /area/engine/ diff --git a/code/game/algorithm.dm b/code/game/algorithm.dm index 783cac8cf3..53d5186a3f 100644 --- a/code/game/algorithm.dm +++ b/code/game/algorithm.dm @@ -13,6 +13,7 @@ goon_loadfile() beta_tester_loadfile() LoadBans() + process_teleport_locs() //Sets up the wizard teleport locations spawn(30) //EXPERIMENTAL diff --git a/code/game/gamemodes/wizard/spell12.dm b/code/game/gamemodes/wizard/spell12.dm index 6f6aaaa1b5..1db8d11510 100644 --- a/code/game/gamemodes/wizard/spell12.dm +++ b/code/game/gamemodes/wizard/spell12.dm @@ -5,7 +5,7 @@ if(!usr.casting()) return var/A usr.verbs -= /mob/proc/teleport - +/* var/list/theareas = new/list() for(var/area/AR in world) if(istype(AR, /area/shuttle) || istype(AR, /area/syndicate_station)) continue @@ -14,14 +14,14 @@ if (picked.z == src.z) theareas += AR.name theareas[AR.name] = AR +*/ - A = input("Area to jump to", "BOOYEA", A) in theareas + A = input("Area to jump to", "BOOYEA", A) in teleportlocs spawn(450) usr.verbs += /mob/proc/teleport - - var/area/thearea = theareas[A] + var/area/thearea = teleportlocs[A] usr.say("SCYAR NILA [uppertext(A)]") usr.spellvoice() @@ -32,7 +32,6 @@ smoke.start() var/list/L = list() for(var/turf/T in get_area_turfs(thearea.type)) - if(T.z != src.z) continue if(!T.density) var/clear = 1 for(var/obj/O in T) @@ -52,17 +51,8 @@ return var/A - var/list/theareas = new/list() - for(var/area/AR in world) - if(istype(AR, /area/shuttle) || istype(AR, /area/syndicate_station)) continue - if(theareas.Find(AR.name)) continue - var/turf/picked = pick(get_area_turfs(AR.type)) - if (picked.z == src.z) - theareas += AR.name - theareas[AR.name] = AR - - A = input("Area to jump to", "BOOYEA", A) in theareas - var/area/thearea = theareas[A] + A = input("Area to jump to", "BOOYEA", A) in teleportlocs + var/area/thearea = teleportlocs[A] var/datum/effects/system/harmless_smoke_spread/smoke = new /datum/effects/system/harmless_smoke_spread() smoke.set_up(5, 0, usr.loc) @@ -70,7 +60,6 @@ smoke.start() var/list/L = list() for(var/turf/T in get_area_turfs(thearea.type)) - if(T.z != src.z) continue if(!T.density) var/clear = 1 for(var/obj/O in T) diff --git a/code/game/objects/tables_racks.dm b/code/game/objects/tables_racks.dm index 6093503b46..7cf9b83e8a 100644 --- a/code/game/objects/tables_racks.dm +++ b/code/game/objects/tables_racks.dm @@ -97,8 +97,11 @@ /obj/table/attackby(obj/item/weapon/W as obj, mob/user as mob) - if (istype(W, /obj/item/weapon/grab)) + if (istype(W, /obj/item/weapon/grab) && get_dist(src,user)<2) var/obj/item/weapon/grab/G = W + if(G.state<2) + user << "\red You need a better grip to do that!" + return G.affecting.loc = src.loc G.affecting.weakened = 5 for(var/mob/O in viewers(world.view, src)) diff --git a/icons/changelog.html b/icons/changelog.html index 5fe7655fab..704f0554e9 100644 --- a/icons/changelog.html +++ b/icons/changelog.html @@ -45,7 +45,16 @@

Changelog

-17.12.2010,11:00GMT + + +
Sunday, November 21, 3:34 PST
- +
Tuesday, November 16, 00:20 GMT
  • Cruazy Guest's map is now live.
  • Entire station has been rearranged.
  • @@ -82,7 +92,7 @@
  • Clown stamp added to clown's backpack.
- +
Sunday, November 14, 18:05
  • Major food/drink code overhaul. Food items heal for more but not instantly. Poison, Drug, and "Heat" effects from food items are also non-instant.
  • Preperation for one-way containers and condiments.
  • diff --git a/tgstation.dme b/tgstation.dme index 0b292064f3..9523c649d2 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -89,6 +89,7 @@ #define FILE_DIR "code/modules/mob/living/carbon/monkey" #define FILE_DIR "code/modules/mob/living/silicon" #define FILE_DIR "code/modules/mob/living/silicon/ai" +#define FILE_DIR "code/modules/mob/living/silicon/aihologram" #define FILE_DIR "code/modules/mob/living/silicon/decoy" #define FILE_DIR "code/modules/mob/living/silicon/hivebot" #define FILE_DIR "code/modules/mob/living/silicon/robot" @@ -210,6 +211,7 @@ #include "code\defines\mob\living\silicon\ai.dm" #include "code\defines\mob\living\silicon\decoy.dm" #include "code\defines\mob\living\silicon\hivebot.dm" +#include "code\defines\mob\living\silicon\hologram.dm" #include "code\defines\mob\living\silicon\robot.dm" #include "code\defines\mob\living\silicon\silicon.dm" #include "code\defines\obj\assemblies.dm" @@ -334,7 +336,6 @@ #include "code\game\machinery\flasher.dm" #include "code\game\machinery\Freezer.dm" #include "code\game\machinery\gibber.dm" -#include "code\game\machinery\hologram.dm" #include "code\game\machinery\hydroponics.dm" #include "code\game\machinery\igniter.dm" #include "code\game\machinery\lightswitch.dm" @@ -512,7 +513,6 @@ #include "code\game\objects\items\weapons\clown_items.dm" #include "code\game\objects\items\weapons\explosives.dm" #include "code\game\objects\items\weapons\flamethrower.dm" -#include "code\game\objects\items\weapons\game_kit.dm" #include "code\game\objects\items\weapons\glass.dm" #include "code\game\objects\items\weapons\grenades.dm" #include "code\game\objects\items\weapons\guns_ammo.dm"