ID:273695
 
I want to make it so that every mob can only see whoever is in its battle; I can't use image because if I do, then movement states won't work (thus whenever it moves I'll have to change its state to "move"), and I cannot use invisibility and see_invisible.

EDIT: Just in case the first part of the post didn't strike it off: Do not even mention image or invisibility unless it will work in a manner in which only certain people can see you; I can't use invisibility because it only works in higher levels i.e: I can't do see_invisbility "In this battle" and then use invisibility = "In this battle", I can only do levels, which obviously won't work because it only makes it so that the first battle can't see everyone else, and all other battles can see the previous ones.
make it an object(Just saying..)
In response to Taha123 (#1)
I just said visible to only certain mobs, objects are openly visible to all mobs. don't answer if you know it's a useless answer.
In response to The Ending Cross (#2)
make it obj and add it to the screen like huds....
In response to Taha123 (#3)
Dude, get all the dragon balls and wish for intelligence:

It's a MOB, mobs must MOVE, by using screen huds I will be CONSTANTLY repositioning mobs on several different peoples' screens, that's harder than using images.
Would you kindly state what you are trying to do?
In response to Jemai1 (#5)
Really, because i thought he was talking about a screen hub aswell.
In response to The Ending Cross (#4)
Then just change the layer?
Have you considered the classic solution of simply moving the battle to a custom arena map? SwapMaps makes it easy to create such maps on the fly. This would allow you to use regular atoms instead of images.

Lummox JR
In response to Lummox JR (#8)
I did but the documentation scared me away, and its too large of a project for me to just simply test it out like I do with DM D:.

I'll give it a shot though, only because you worked soooooo hard on it :D
In response to Darker Legends (#7)
Find a genie, wish for intelligence.
In response to The Ending Cross (#10)
These people are trying to help you. Your responses are way too rude. I'll say this in your words: 'Find a genie, wish for respect.'
In response to Lummox JR (#8)
Doesn't work:


battle/proc/StartBattle(list/Team1, list/Team2)
var/swapmap/battlemap = SwapMaps_CreateFromTemplate("[place]")
var/turf/T = locate(round(battlemap.x1+battlemap.x2)/2,\
round(battlemap.y1+battlemap.y2)/2,\
battlemap.z1)
for(var/mob/M in Team1)
M.loc=get_step(T,NORTH)
M.battle=src
for(var/mob/M in Team2)
M.loc=get_step(T,SOUTH)
M.battle=src
In response to Raimo (#11)
I was almost a doctor, do you respect my training enough to allow me to perform open heart surgery on you and your close friends and family?
In response to The Ending Cross (#13)
You can't expect help if you keep behaving so childish.
In response to The Ending Cross (#4)
Being that you're being overly rude, but anyways, Mobs and Objs both are children of /atom/movable/, meaning they can BOTH move.

You could also override the Move() proc of /atom/movable/ to check if it's in a screen location, and then change that screen location relative to the direction of move; if not, ..(). It's not the best way, but it would be possible. I'm also purposely leaving out some things just because you wouldn't appreciate them either way.
In response to ShadowOfNight (#15)
I know HOW to do it it's just impractical to reprogramming Move for no reason.

I didn't say it was impossible, you're obviously not reading AND comprehending.

EDIT: I also never said objects couldn't move, I just didn't mention them because if I can do it to a mob, I can do it to an object, smart stuff you got going on.

EDIT EDIT: Why would I appreciate the patronage of uselessness? I don't give a damn if you can or can't give me a snippet that does it, it's pointless and stupid regardless, and that doesn't cover changing icon_states; it's just an even worse way of using image() because it doesn't take into account movement states.

EDIT EDIT EDIT: Oh, and finally, what was the point of mentioning ..()? that's a given if you're going to override something and keep using the parent-version.

That's like if I have:
mob/proc/Eat()
view()<<"[src] eats"

mob/untamed/Eat()
..()//<-----------------------------
view()<<"...in an untamed manner..."

Thanks for mentioning though, but unfortunately it didn't give you the whole "I'm justifying other people's failures via sounding smart and presenting it in a better fashhion" appearance.
In response to Darker Legends (#14)
I'm sorry, but I just don't like it when people lurk the Developer How-To forums to help when they need it themselves. If you've tested your answer, and it works, that's cool, and although the first post wasn't as descriptive as possible, it gets the point across: Without using image() or the invisibility variable, how do I make objects visible to certain mobs but not others.

Layer doesn't make objects visible to certain mobs but not others, it makes it so that if something of a lower or higher layer is in the same location (visibly) that it is overlapped or overlapping something else.
In response to Akriloth (#6)
I'm sorry, I thought mentioning mob completely dispelled the thought of an ACTUAL DM programmer.
In response to Jemai1 (#5)
If Lummox gets it and you don't it's not me, it's your comprehension. Obviously if you don't get it, you're not a programmer

I said and summed it all up right there, you're just trying to make it seem as though I was to vague, so you can shift the blame of the less intelligent responses to me.

however, It's plainly put: How do I make it so that certain objects can only be seen by certain mobs WITHOUT using image() or invisibility; Lummox's suggestion was simply to move them to another map that will be created so it appears they're in the same map, but they're not.
Page: 1 2