Moved some of the old pipe files into unused.

Explosions will delay a bit longer before allowing powernet rebuilds.
Removed the Ionstorm Command reports at Urist's request, he said he would add something later.
Added dust storms to meteor mode.
Fixed most of the runtimes in the latest log.
Wizards mind_transfer now needs his robes, this prevents the constant body swap mess.
Z 1 lost all of its areas sometime in the last two revs.  I think I got everything back in place but would not mind if a mapper took a look.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2037 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
mport2004@gmail.com
2011-08-22 10:59:54 +00:00
parent ce93ef99fa
commit 6b88250beb
27 changed files with 8999 additions and 7209 deletions

View File

@@ -269,4 +269,6 @@
/proc/blink(atom/A)
A.icon += rgb(0,75,75)
spawn(10) A.icon = initial(A.icon)
spawn(10)
if(A)
A.icon = initial(A.icon)

View File

@@ -2,7 +2,7 @@
damage = 5
mobdamage = list(BRUTE = 5, BURN = 0, TOX = 0, OXY = 0, CLONE = 0)
/obj/minihivebot/
/obj/hivebot
name = "Hivebot"
desc = "A small robot"
icon = 'Hivebot.dmi'
@@ -29,30 +29,40 @@
steps = 0
firevuln = 0.5
brutevuln = 1
seekrange = 7
seekrange = 8
basic_damage = 2
armor = 5
proc
patrol_step()
process()
seek_target()
Die()
ChaseAttack(mob/M)
RunAttack(mob/M)
Shoot(var/target, var/start, var/user, var/bullet = 0)
TakeDamage(var/damage = 0)
attackby(obj/item/weapon/W as obj, mob/living/user as mob)
..()
if (!src.alive) return
var/damage = 0
switch(W.damtype)
if("fire") src.health -= W.force * src.firevuln
if("brute") src.health -= W.force * src.brutevuln
if (src.alive && src.health <= 0) src.Die()
if("fire") damage = W.force * firevuln
if("brute") damage = W.force * brutevuln
TakeDamage(damage)
attack_hand(var/mob/user as mob)
if (!src.alive) return
if (user.a_intent == "hurt")
src.health -= 1 * src.brutevuln
TakeDamage(2 * brutevuln)
for(var/mob/O in viewers(src, null))
O.show_message("\red <b>[user]</b> punches [src]!", 1)
playsound(src.loc, pick('punch1.ogg','punch2.ogg','punch3.ogg','punch4.ogg'), 100, 1)
if (src.alive && src.health <= 0) src.Die()
proc/patrol_step()
patrol_step()
var/moveto = locate(src.x + rand(-1,1),src.y + rand(-1, 1),src.z)
if (istype(moveto, /turf/simulated/floor) || istype(moveto, /turf/simulated/shuttle/floor) || istype(moveto, /turf/unsimulated/floor)) step_towards(src, moveto)
if(src.aggressive) seek_target()
@@ -82,10 +92,7 @@
bullet_act(var/obj/item/projectile/Proj)
health -= Proj.damage
if(src.health <= 0)
src.Die()
TakeDamage(Proj.damage)
ex_act(severity)
switch(severity)
@@ -93,13 +100,16 @@
src.Die()
return
if(2.0)
src.health -= 15
if (src.health <= 0)
src.Die()
TakeDamage(20)
return
return
emp_act(serverity)
src.Die()//Currently why not
return
meteorhit()
src.Die()
return
@@ -111,7 +121,7 @@
return
proc/process()
process()
set background = 1
if (!src.alive) return
switch(task)
@@ -187,7 +197,7 @@
..()
proc/seek_target()
seek_target()
src.anchored = 0
for (var/mob/living/C in view(src.seekrange,src))
if (src.target)
@@ -209,7 +219,7 @@
continue
proc/Die()
Die()
if (!src.alive) return
src.alive = 0
walk_to(src,0)
@@ -222,12 +232,22 @@
del(src)
proc/ChaseAttack(mob/M)
TakeDamage(var/damage = 0)
var/tempdamage = (damage-armor)
if(tempdamage > 0)
src.health -= tempdamage
else
src.health--
if(src.health <= 0)
src.Die()
ChaseAttack(mob/M)
for(var/mob/O in viewers(src, null))
O.show_message("\red <B>[src]</B> leaps at [src.target]!", 1)
proc/RunAttack(mob/M)
RunAttack(mob/M)
src.attacking = 1
for(var/mob/O in viewers(src, null))
O.show_message("\red <B>[src]</B> claws at [src.target]!", 1)
@@ -235,7 +255,8 @@
spawn(25)
src.attacking = 0
proc/Shoot(var/target, var/start, var/user, var/bullet = 0)
Shoot(var/target, var/start, var/user, var/bullet = 0)
if(target == start)
return
@@ -255,7 +276,7 @@
return
/obj/minihivebot/range
/obj/hivebot/range
name = "Hivebot"
desc = "A smallish robot, this one is armed!"
var/rapid = 0
@@ -292,16 +313,17 @@
break
else continue
/obj/minihivebot/range/rapid
/obj/hivebot/range/rapid
rapid = 1
/obj/minihivebot/range/strong
/obj/hivebot/range/strong
name = "Strong Hivebot"
desc = "A robot, this one is armed and looks tough!"
health = 50
armor = 10
/obj/minihivebot/range/borgkill
name = "Strong Hivebot"
desc = "A robot, this one is armed and looks tough!"
/obj/hivebot/range/borgkill
health = 20
atksilicon = 1

View File

@@ -0,0 +1,72 @@
/obj/hivebot/tele//this still needs work
name = "Beacon"
desc = "Some odd beacon thing"
icon = 'Hivebot.dmi'
icon_state = "def_radar-off"
health = 200
task = "thinking"
aggressive = 0
wanderer = 0
armor = 5
var
bot_type = "norm"
bot_amt = 10
spawn_delay = 600
set_spawn = 0
auto_spawn = 1
proc
warpbots()
New()
..()
var/datum/effects/system/harmless_smoke_spread/smoke = new /datum/effects/system/harmless_smoke_spread()
smoke.set_up(5, 0, src.loc)
smoke.start()
for(var/mob/O in viewers(src, null))
O.show_message("\red <B>The [src] warps in!</B>", 1)
playsound(src.loc, 'EMPulse.ogg', 25, 1)
if(auto_spawn)
spawn(spawn_delay)
warpbots()
warpbots()
icon_state = "def_radar"
for(var/mob/O in viewers(src, null))
O.show_message("\red The [src] turns on!", 1)
while(bot_amt > 0)
bot_amt--
switch(bot_type)
if("norm")
new /obj/hivebot(get_turf(src))
if("range")
new /obj/hivebot/range(get_turf(src))
if("rapid")
new /obj/hivebot/range/rapid(get_turf(src))
spawn(100)
del(src)
return
process()
if(set_spawn)
warpbots()
..()
/obj/hivebot/tele/massive
bot_type = "norm"
bot_amt = 30
auto_spawn = 0
/obj/hivebot/tele/range
bot_type = "range"
bot_amt = 10
/obj/hivebot/tele/rapid
bot_type = "rapid"
bot_amt = 10

View File

@@ -57,7 +57,7 @@
gibs(T)
src.cure(0)
gibbed = 1
if(!jobban_isbanned(src, "Cyborg"))
if(!jobban_isbanned(affected_mob, "Cyborg"))
affected_mob:Robotize()
else
affected_mob.death(1)

View File

@@ -4,7 +4,7 @@
school = "transmutation"
charge_max = 600
clothes_req = 0
clothes_req = 1
invocation = "GIN'YU CAPAN"
invocation_type = "whisper"
range = 7

View File

@@ -0,0 +1,28 @@
/obj/item/weapon/melee/cultblade
name = "Cult Blade"
desc = "An arcane weapon wielded by the followers of Nar-Sie"
icon_state = "cultblade"
item_state = "cultblade"
flags = FPRINT | ONBELT | TABLEPASS
force = 40
throwforce = 10
/obj/item/clothing/head/culthood
name = "cult hood"
icon_state = "culthood"
desc = "A hood worn by the followers of Nar-Sie."
flags = FPRINT|TABLEPASS|HEADSPACE|HEADCOVERSEYES
armor = list(melee = 30, bullet = 10, laser = 5, taser = 5, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/suit/cultrobes
name = "cult robes"
desc = "A set of armored robes worn by the followers of Nar-Sie"
icon_state = "cultrobes"
item_state = "cultrobes"
flags = FPRINT | TABLEPASS | ONESIZEFITSALL
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
armor = list(melee = 50, bullet = 30, laser = 50, taser = 20, bomb = 25, bio = 10, rad = 0)

View File

@@ -29,8 +29,14 @@
return 0*/
/datum/game_mode/meteor/process()
if (nometeors) return
if (prob(10)) meteor_wave()
if(nometeors) return
if(prob(80))
spawn()
dust_swarm("norm")
else
spawn()
dust_swarm("strong")
if(prob(10)) meteor_wave()
else spawn_meteors()
/datum/game_mode/meteor/declare_completion()
@@ -64,7 +70,7 @@
..()
return 1
/* This is dealt with in the parents code
/datum/game_mode/meteor/send_intercept()
var/intercepttext = "<FONT size = 3><B>Cent. Com. Update</B> Requested staus information:</FONT><HR>"
intercepttext += "<B> Cent. Com has recently been contacted by the following syndicate affiliated organisations in your area, please investigate any information you may have:</B>"
@@ -90,4 +96,4 @@
comm.messagetext.Add(intercepttext)
command_alert("Summary downloaded and printed out at all communications consoles.", "Enemy communication intercept. Security Level Elevated.")
world << sound('intercept.ogg')
world << sound('intercept.ogg')*/

View File

@@ -273,8 +273,8 @@ datum
return steal_target
check_completion()
if(!steal_target || !owner.current)
return 0
if(!steal_target || !owner.current) return 0
if(!isliving(owner.current)) return 0
var/list/all_items = owner.current.get_contents()
switch (target_name)
if("28 moles of plasma (full tank)","10 diamonds","50 gold bars","25 refined uranium bars")

View File

@@ -147,6 +147,10 @@ datum/hSB
continue
if(istype(O, /obj/item/device/shield))
continue
if(istype(O, /obj/hivebot))
continue
if(istype(O, /obj/structure))
continue
selectable += O
var/hsbitem = input(usr, "Choose an object to spawn.", "Sandbox:") in selectable + "Cancel"

View File

@@ -489,6 +489,7 @@
world << "<b>[src] is the captain!</b>"
src << "<B>You are the [rank].</B>"
src.job = rank
if(src.mind)
src.mind.assigned_role = rank
if (!joined_late && rank != "Tourist")

View File

@@ -107,7 +107,8 @@
check_for_null = 0 //since port.stop_charge() must be called. The checks are made in process()
process(var/obj/machinery/mech_bay_recharge_port/port, var/obj/mecha/mecha)
if(port && mecha && mecha in port.recharge_floor)
if((!port) || (!mecha)) return 0
if(mecha in port.recharge_floor)
if(!mecha.cell) return
var/delta = min(max_charge, mecha.cell.maxcharge - mecha.cell.charge)
if(delta>0)

View File

@@ -71,7 +71,8 @@ proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impa
for(var/mob/living/carbon/mob in T)
flick("flash", mob:flash)
sleep(3)
sleep(-1)
sleep(20)
defer_powernet_rebuild = 0
return 1

View File

@@ -277,8 +277,8 @@ Would like to add a law like "Law x is _______" where x = a number, and _____ is
*/
command_alert("Ion storm detected near the station. Please check all AI-controlled equipment for errors.", "Anomaly Alert")
world << sound('ionstorm.ogg')
// command_alert("Ion storm detected near the station. Please check all AI-controlled equipment for errors.", "Anomaly Alert")
// world << sound('ionstorm.ogg')
/*
Stealth spawns xenos
@@ -587,8 +587,8 @@ Traitors and the like can also be revived with the previous role mostly intact.
log_admin("Admin [key_name(usr)] has added a new AI law - [input]")
message_admins("Admin [key_name_admin(usr)] has added a new AI law - [input]", 1)
command_alert("Ion storm detected near the station. Please check all AI-controlled equipment for errors.", "Anomaly Alert")
world << sound('ionstorm.ogg')
// command_alert("Ion storm detected near the station. Please check all AI-controlled equipment for errors.", "Anomaly Alert")
// world << sound('ionstorm.ogg')
/client/proc/cmd_admin_rejuvenate(mob/living/M as mob in world)
set category = "Special Verbs"

View File

@@ -270,19 +270,18 @@ mob/new_player
var/icon/char_icon = getFlatIcon(character,0)//We're creating out own cache so it's not needed.
if (character)
character.Equip_Rank(rank, joined_late=1)
if(character.mind)
if(character.mind.assigned_role != "Cyborg")
ManifestLateSpawn(character,char_icon)
if(ticker)
character.loc = pick(latejoin)
AnnounceArrival(character, rank)
if(character.mind)
if(character.mind.assigned_role == "Cyborg")
character.Robotize()
else//Adds late joiners to minds so they can be linked to objectives.
ticker.minds += character.mind//Cyborgs and AIs handle this in the transform proc.
del(src)
else
src << alert("[rank] is not available. Please try another.")

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 89 KiB

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 165 KiB

After

Width:  |  Height:  |  Size: 167 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 17 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -116,6 +116,7 @@
#define FILE_DIR "code/WorkInProgress"
#define FILE_DIR "code/WorkInProgress/organs"
#define FILE_DIR "code/WorkInProgress/recycling"
#define FILE_DIR "code/WorkInProgress/thehive"
#define FILE_DIR "code/WorkInProgress/virus2"
#define FILE_DIR "code/WorkInProgress/virus2/Disease2"
#define FILE_DIR "icons"
@@ -340,6 +341,7 @@
#include "code\game\gamemodes\changeling\changeling_powers.dm"
#include "code\game\gamemodes\changeling\traitor_chan.dm"
#include "code\game\gamemodes\cult\cult.dm"
#include "code\game\gamemodes\cult\cult_items.dm"
#include "code\game\gamemodes\events\clang.dm"
#include "code\game\gamemodes\events\dust.dm"
#include "code\game\gamemodes\events\ninja_abilities.dm"
@@ -825,12 +827,13 @@
#include "code\modules\research\server.dm"
#include "code\WorkInProgress\buildmode.dm"
#include "code\WorkInProgress\explosion_particles.dm"
#include "code\WorkInProgress\minihivebottest.dm"
#include "code\WorkInProgress\organs\organs.dm"
#include "code\WorkInProgress\recycling\conveyor.dm"
#include "code\WorkInProgress\recycling\disposal-construction.dm"
#include "code\WorkInProgress\recycling\disposal.dm"
#include "code\WorkInProgress\recycling\sortingmachinery.dm"
#include "code\WorkInProgress\thehive\mhivebot.dm"
#include "code\WorkInProgress\thehive\transport.dm"
#include "code\WorkInProgress\virus2\Prob.dm"
#include "code\WorkInProgress\virus2\Disease2\analyser.dm"
#include "code\WorkInProgress\virus2\Disease2\base.dm"