PDA

View Full Version : Zone Type - Indoor/Outdoor into Zone Table Please


mByte
11-30-2004, 07:43 PM
Can we get the zone table to be populated with a field that holds the type of zone it is.

I am unsure of the correct format of Spirit of Wolf spells but I know those hold a value to only be casted outside so I would think what ever the value is would make that the world zones and the rest dungeons.

0 world, 1 dungeon, 2 plane
and maybe 3 for instanced.

not sure how hard it is to do but if you get me what world values and dungeon values are I could populate the database and dump it for you.

Cisyouc
12-01-2004, 07:49 AM
i think this is in the zone file itself if im not mistaken..?

mByte
12-01-2004, 09:45 AM
Where would I start to look in the code to check aginist it for when spells are casted?

Is it part of the LoadZoneCFG?

Scorpx725
12-01-2004, 11:14 AM
Im no coder, but I believe it would be the zone classed as outdoors, then when the spell itself is casted, the spell checks the zone.

^^ Info I heard from someone.

Bigpull
02-06-2005, 01:58 AM
EDIT: I forgot the NPC check fixed now

The flags should be there as ztype in the zone table, but not all the code is complete.

There are two types of zone restricted spells
1 Sow spells
2 Growth spells

Well three if you count bind but it isn't really restricted in the spell data, It's likely hard coded on live like it is on emu. Someone with live access needs to check if they are checked server side or local, are they sending a stringid message or not. If they aren't we need to have a closer look at the ~150 bytes of unknowns in the NewZone packet.

Anyways i ramble, Localy i'm using
ztype = 0 As outdoor
ztype & 1 as indoor

What do you need a plane flag for, that the min_level doesn't cover? And could someone tell me the limits on growth?

edit aggro.cpp line ~1189, first line of CheckLosFN()
if (zone->newzone_data.ztype == 0) // An outdoor zone always has line of sight
return true;

edit spells.cpp line ~368, just below the mana check
if (
!IsNPC()
&& (zone->newzone_data.ztype &1)
&& spells[spell_id].zonetype==1
)
{
Message_StringID(MT_Spells,234);
InterruptSpell();
return;
}

fathernitwit
02-06-2005, 07:59 AM
the spell code looks reasonable, assuming that the ztype field is correctly populated in the database. If you confirm that this is in fact set correctly, I will put this code into cvs.

On the other hand, I disagree with you about disabling LOS for outdoor zones... theres a lot of reasons that you would not want to disable LOS. Such as buildings like the crypts in oasis, mountains, etc...

Bigpull
02-07-2005, 07:37 PM
A default parameter to the CheckLOS call would suffice. Outdoor zones always have line of sight when they are considered for spells, the issue would be with arrows needing to intersect zone geometry (note of course you can fire thru tents and other variable zone objects), and maybe water areas if we ever get around to implementing that.

Anyways i ramble, The change to aggro.cpp allows outdoor line of sight with out maps and without setting the default in features, so your dungeon zones aren't aggro hell.

RangerDown
02-12-2005, 01:56 PM
You are not always guaranteed line of sight in outdoor zones. Not for spells, and coming from an experienced ranger, definitely not for arrows. Nor should you be. An "outdoor zone always == constant line of sight" point of view is narrow minded and poor design. Are you telling me I am supposed to stand on the surface of Blackburrow be able to nuke that gnoll who's in a tunnel with 8 feet of dirt separating us?! Blackburrow, despite its underground tunnel system, is an outdoor zone.

Wiz
02-17-2005, 03:32 AM
A default parameter to the CheckLOS call would suffice. Outdoor zones always have line of sight when they are considered for spells, the issue would be with arrows needing to intersect zone geometry (note of course you can fire thru tents and other variable zone objects), and maybe water areas if we ever get around to implementing that.

Anyways i ramble, The change to aggro.cpp allows outdoor line of sight with out maps and without setting the default in features, so your dungeon zones aren't aggro hell.

This isn't true for any outdoor zone in the entire game.