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
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