Skip to content

Commit

Permalink
Moved some of the old pipe files into unused.
Browse files Browse the repository at this point in the history
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
  • Loading branch information
mport2004@gmail.com committed Aug 22, 2011
1 parent ce93ef9 commit 6b88250
Show file tree
Hide file tree
Showing 27 changed files with 9,012 additions and 7,222 deletions.
4 changes: 3 additions & 1 deletion code/WorkInProgress/buildmode.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand All @@ -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()
Expand Down Expand Up @@ -82,24 +92,24 @@


bullet_act(var/obj/item/projectile/Proj)
health -= Proj.damage
if(src.health <= 0)
src.Die()

TakeDamage(Proj.damage)

ex_act(severity)
switch(severity)
if(1.0)
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
Expand All @@ -111,7 +121,7 @@
return


proc/process()
process()
set background = 1
if (!src.alive) return
switch(task)
Expand Down Expand Up @@ -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)
Expand All @@ -209,7 +219,7 @@
continue


proc/Die()
Die()
if (!src.alive) return
src.alive = 0
walk_to(src,0)
Expand All @@ -222,20 +232,31 @@
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)
src.target:bruteloss += basic_damage
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

Expand All @@ -255,7 +276,7 @@
return


/obj/minihivebot/range
/obj/hivebot/range
name = "Hivebot"
desc = "A smallish robot, this one is armed!"
var/rapid = 0
Expand Down Expand Up @@ -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 changes: 72 additions & 0 deletions code/WorkInProgress/thehive/transport.dm
Original file line number Diff line number Diff line change
@@ -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
2 changes: 1 addition & 1 deletion code/datums/diseases/robotic_transformation.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
2 changes: 1 addition & 1 deletion code/datums/spells/mind_transfer.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

school = "transmutation"
charge_max = 600
clothes_req = 0
clothes_req = 1
invocation = "GIN'YU CAPAN"
invocation_type = "whisper"
range = 7
Expand Down
28 changes: 28 additions & 0 deletions code/game/gamemodes/cult/cult_items.dm
Original file line number Diff line number Diff line change
@@ -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)
14 changes: 10 additions & 4 deletions code/game/gamemodes/meteor/meteor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand Down Expand Up @@ -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>"
Expand All @@ -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')*/
4 changes: 2 additions & 2 deletions code/game/gamemodes/objective.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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")
Expand Down
4 changes: 4 additions & 0 deletions code/game/gamemodes/sandbox/h_sandbox.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
3 changes: 2 additions & 1 deletion code/game/jobs/jobprocs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -489,7 +489,8 @@
world << "<b>[src] is the captain!</b>"
src << "<B>You are the [rank].</B>"
src.job = rank
src.mind.assigned_role = rank
if(src.mind)
src.mind.assigned_role = rank

if (!joined_late && rank != "Tourist")
var/obj/S = null
Expand Down
3 changes: 2 additions & 1 deletion code/game/mecha/mech_bay.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
3 changes: 2 additions & 1 deletion code/game/objects/explosion.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
Loading

0 comments on commit 6b88250

Please sign in to comment.