mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
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:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
72
code/WorkInProgress/thehive/transport.dm
Normal file
72
code/WorkInProgress/thehive/transport.dm
Normal 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
|
||||
Reference in New Issue
Block a user