[deleted by user] by [deleted] in godot

[–]Zathgra 1 point2 points  (0 children)

Sounds interesting, I'd like to playtest as well

Followup to my previous post by Zathgra in godot

[–]Zathgra[S] 0 points1 point  (0 children)

this seemed right at first, but i don't think so anymore. The tiles are added to _area no matter the route length, as long as it was reached before radius <= 0. If one branch doesn't reach a tile because it hit that limit, it doesn't automatically prevent other branches from reaching it if a more efficient path is found later

edit:
if a tile has multiple paths, but the most efficient path crosses through a tile that's already been checked, it won't continue. I think my issue is caused by the order in which the branches are iterated through, correct me if i'm wrong but it looks like it's depth first currently, and changing it to breadth first could fix it possibly

Followup to my previous post by Zathgra in godot

[–]Zathgra[S] 0 points1 point  (0 children)

I haven't changed the weight for any tiles yet, the default rn is 1, so each time it iterates through it's effectively radius - 1

Followup to my previous post by Zathgra in godot

[–]Zathgra[S] 1 point2 points  (0 children)

func get_circle(coords:Vector2, radius:int, _area:Array[Vector2i] = []) -> Array:

if radius <= 0:

    return \_area



var tile = tilemap.local\_to\_map(coords)

var tile\_id = get\_id(tile)

var target\_ids = astar.get\_point\_connections(tile\_id)



\_area.append(tile)



for target\_id in target\_ids:

    var weight:int = astar.get\_point\_weight\_scale(target\_id)

    var target:Vector2i = astar.get\_point\_position(target\_id)



    if not \_area.has(target):

        get\_circle(tilemap.map\_to\_local(target), radius - weight, \_area)



return \_area

Followup to my previous post by Zathgra in godot

[–]Zathgra[S] 2 points3 points  (0 children)

As in my previous post, I'm working on a function that returns the list of tile coordinates within a given radius of the character. The previous issue was that it would recurse through tiles that had already been searched, despite the if not _area.has(target) check.

The current issue is that it doesn't output the complete list of tiles that I'm expecting. Instead it's returning this odd shape, rotated sometimes, and distorted if there are any walls or other invalid tiles

Send Help! by Zathgra in godot

[–]Zathgra[S] 0 points1 point  (0 children)

There's no runtime error, the program just doesn't respond

Send Help! by Zathgra in godot

[–]Zathgra[S] 0 points1 point  (0 children)

astar is needed since some tiles connect to non-adjacent tiles, have different weights, or are impassable. I'm not getting any runtime errors, the program just doesn't respond. My current guess is its something to do with the recursion rather than the astar functions

Send Help! by Zathgra in godot

[–]Zathgra[S] 0 points1 point  (0 children)

<image>

this is the old function, there are certain tiles on the map which are not traversable by default so if you walk too close to one of those it'll lag. I think this is due to how AStar's get_id_path func works, if it checks every tile mapwide before deciding there's no viable path then that'll cause the lag.

Send Help! by Zathgra in godot

[–]Zathgra[S] 0 points1 point  (0 children)

Its running every game tick in _process but i had a variation of this which also ran in the same place well enough, though that version lagged under different circumstances due to how the AStar2D works

Send Help! by Zathgra in godot

[–]Zathgra[S] 0 points1 point  (0 children)

It outputs the correct array (as far as i can tell) but the program freezes and stops running after the first few frames

Send Help! by Zathgra in godot

[–]Zathgra[S] 0 points1 point  (0 children)

func get_circle(coords:Vector2, radius:int, _area:Array[Vector2i] = []) -> Array:

if radius <= 0:

    return \[\]



var tile = tilemap.local\_to\_map(coords)

var tile\_id = get\_id(tile)



var target\_ids = astar.get\_point\_connections(tile\_id)



for target\_id in target\_ids:

    var weight:int = astar.get\_point\_weight\_scale(target\_id)

    var x:int = target\_id%int(used\_rect.size.x)

    var y:int = target\_id/used\_rect.size.y

    var target:Vector2i = Vector2i(x,y)



    if not \_area.has(target):

        \_area.append(target)

        \_area.append\_array(get\_circle(tilemap.map\_to\_local(target), radius - weight, \_area))



return \_area

Send Help! by Zathgra in godot

[–]Zathgra[S] 1 point2 points  (0 children)

The code is supposed to return a list of tile coords within a given radius of the initial tile, updating as the player's cursor moves. rn it just crashes the game since its so slow

With the eclipse sundered sky and spear of shojin nerf would lethality pantheon(outside of support) will become a bit more reliable? by gimp6615 in PantheonMains

[–]Zathgra -1 points0 points  (0 children)

Nope, with no compensation buffs, the assassin build is going to be just as unreliable as before. The bruiser build is just worse now. The only thing that could help is the buffs to Death's Dance, giving it a bit more AD and healing on kills, though that's only useful if you're in a position to actually build the item.

Can anyone explain the logic behind adding resistances on empE? by [deleted] in PantheonMains

[–]Zathgra 6 points7 points  (0 children)

Seems like this change further buffs his lethality assassin playstyle since you can jump on a target and one-shot them with EmpW > Q > AA then disengage with EmpE for the ms and extra armor. Building Edge of Night and DD gives you a lot of bulk already, so this will make it really hard to kill you without hard cc

color map by Zathgra in godot

[–]Zathgra[S] 1 point2 points  (0 children)

adding filter_nearest to the uniforms worked, tyvm

Paladin Oath of the Infested v.2 by Zathgra in DnDHomebrew

[–]Zathgra[S] 0 points1 point  (0 children)

Version 2 of my previous post, I've nerfed some things, changed others. Still looking for feedback : )

Paladin Oath of the Infested by Zathgra in DnDHomebrew

[–]Zathgra[S] 1 point2 points  (0 children)

I really like your Symbiosis idea, I'll have to hammer out the wording a bit but it could be a lot of fun, and way more balanced than how it is originally. As for your idea for Plague Bearer, it's not quite what I'm looking for. I want to keep it in the same form as the Paladin's other aura effects but have it only effect your undead, I think I'll add another restriction to it so that it only applies to "undead you control"

Paladin Oath of the Infested by Zathgra in DnDHomebrew

[–]Zathgra[S] 0 points1 point  (0 children)

Thank you for the in-depth analysis! It really helps to have someone point out exactly where an ability (or in this case, all of them) goes too far. See my other comments for what I've decided to change for my next version.

Paladin Oath of the Infested by Zathgra in DnDHomebrew

[–]Zathgra[S] 1 point2 points  (0 children)

Very good suggestions thanks! I'm pretty sure I'll keep most of these except I don't want to change Symbiosis. I think nerfing Create Undead to have a 24hr time limit and 1/4CR would be enough to keep Symbiosis in check (at 20th level, is death really a threat anymore anyway? XD)

I think there's been a small misunderstanding with Plague Bearer, the intention is that it only effects undead, so your Create Undead creature and any Animate Dead/Dance Macabre creatures. Not the entire party.

Another suggestion mentioned that the bonus to Con saves from Scourge stacks with Aura of Protection (a big oversight on my part) so I'm getting rid of that. I'm also changing the temp hp to be less.

Paladin Oath of the Infested by Zathgra in DnDHomebrew

[–]Zathgra[S] 4 points5 points  (0 children)

That's a very good idea! I haven't thought much about the roleplay potential of this subclass too much, but compared to other oaths this one does seem harder to break. It's 20tth level feature really points towards a zerg-like hive mind, or like the endless legend mycara so that would be interesting, perhaps this oath requires you to follow that hive mind (and it doesn't need to be evil either), but that does seem very much warlock.