New()
..()
spawn(50)
if(src)
justmade=0
Bump(var/obstacle)
if(isobj(obstacle))
var/obj/Water/w=obstacle
w.waterlevel+=src.waterlevel
del src
mob/verb/CheckWater()
set background=1
var/newturfwl=0
var/turf/turfon
for(var/obj/Water/w)
if(w.justmade!=1)
if(isturf(w.loc)) turfon=w.loc
if(w.waterlevel>1)
for(var/turf/t in oview(1,w))
// for(var/obj/Water/w3 in t.contents)newturfwl+=w3.waterlevel
// world << t.elevation+newturfwl
if((t.elevation+newturfwl)<(w.waterlevel+turfon.elevation))
var/obj/Water/w2=new /obj/Water(w.loc)
step_towards(w2,t)
w.waterlevel--
if(w2)
w2.waterlevel++
w2.justmade=1
if(w.waterlevel==0) del w
obj
Water
density=1
icon='water.dmi'
icon_state="flowing"
name="Water"
var/justmade=0
var/waterlevel=1
StartWater
waterlevel=10
icon_state="still"
Water doesn't go very far... Just 1 space then keeps going back. Not only that, but water doesn't delete
ID:175721
Mar 17 2003, 2:00 am
|
|
Bump(var/obstacle)if(isobj(obstacle))
var/obj/Water/w=obstacle
w.waterlevel+=src.waterlevel
del src
The tabbing is messed up here; it appears that Bump is indented too far. Also it's a mistake to use isobj(), which you should instead be using istype(obstacle,/obj/Water).
I'm changing the tabs in the code quoted below to 2 spaces so it's more readable.
Okay, some problems with this off the bat:
So there's a lot here that I'd change. I think you're on the right track but there are some mistakes in the overall construction of the algorithm.
First, I'd find all places where water could flow to a lower elevation and level.
Lummox JR