Skip to content

Commit

Permalink
Change pathnode keybinds to spawn *at* player
Browse files Browse the repository at this point in the history
  • Loading branch information
wallabra committed Apr 26, 2021
1 parent e6b769f commit 3e0ed0f
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 76 deletions.
4 changes: 2 additions & 2 deletions KeyConf.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
defaultbind kp1 "summon ztcrouchnode 0"
defaultbind kp2 "summon ztpathnode 0"
defaultbind kp2 "summon ztnormalnode 0"
defaultbind kp3 "summon ztusenode 0"
defaultbind kp4 "summon ztjumpnode 0"
defaultbind kp5 "summon ztshootnode 0"
Expand Down Expand Up @@ -30,7 +30,7 @@ addmenukey "Order Nearby Commanded Bots to Follow Looked" "summon ztbotfolloword

addkeysection "ZetaBot Pathing" "zetabots_paths"

addmenukey "Create Normal Path Node" "summon ztpathnode 0"
addmenukey "Create Normal Path Node" "summon ztnormalnode 0"
addmenukey "Create Use Path Node" "summon ztusenode 0"
addmenukey "Create Jump Path Node" "summon ztjumpnode 0"
addmenukey "Create Shoot Path Node" "summon ztshootnode 0"
Expand Down
120 changes: 47 additions & 73 deletions ZetaCode/Pathing.zsc
Original file line number Diff line number Diff line change
Expand Up @@ -840,158 +840,132 @@ class ZTPathNode : ZTPositionMarker
}
}

class ZTUseNode : Actor
class ZTNodeSpawner : Actor abstract {
const summonDist = 64;

abstract void ConfigNode(ZTPathNode node);

override void PostBeginPlay() {
let node = ZTPathNode(Spawn("ZTPathNode", Vec3Angle(-summonDist, angle)));
node.angle = angle;

ConfigNode(node);
Destroy();
}
}

class ZTNormalNode : ZTNodeSpawner
{
override void PostBeginPlay()
override void ConfigNode(ZTPathNode node)
{
node.nodeType = ZTPathNode.NT_NORMAL;
}
}

class ZTUseNode : ZTNodeSpawner
{
override void ConfigNode(ZTPathNode node)
{
let node = ZTPathNode(Spawn("ZTPathNode", pos));
node.nodeType = ZTPathNode.NT_USE;
node.useDirection = angle;
node.angle = angle;

Destroy();
}
}

class ZTJumpNode : Actor
class ZTJumpNode : ZTNodeSpawner
{
override void PostBeginPlay()
override void ConfigNode(ZTPathNode node)
{
let node = ZTPathNode(Spawn("ZTPathNode", pos));
node.nodeType = ZTPathNode.NT_JUMP;
node.angle = angle;

Destroy();
}
}

class ZTSlowNode : Actor
class ZTSlowNode : ZTNodeSpawner
{
override void PostBeginPlay()
override void ConfigNode(ZTPathNode node)
{
let node = ZTPathNode(Spawn("ZTPathNode", pos));
node.nodeType = ZTPathNode.NT_SLOW;
node.angle = angle;

Destroy();
}
}

class ZTCrouchNode : Actor
class ZTCrouchNode : ZTNodeSpawner
{
override void PostBeginPlay()
override void ConfigNode(ZTPathNode node)
{
let node = ZTPathNode(Spawn("ZTPathNode", pos));
node.nodeType = ZTPathNode.NT_CROUCH;
node.angle = angle;

Destroy();
}
}

class ZTShootNode : Actor
class ZTShootNode : ZTNodeSpawner
{
override void PostBeginPlay()
override void ConfigNode(ZTPathNode node)
{
let node = ZTPathNode(Spawn("ZTPathNode", pos));
node.nodeType = ZTPathNode.NT_SHOOT;
node.angle = angle;

Destroy();
}
}


class ZTAvoidNode : Actor
class ZTAvoidNode : ZTNodeSpawner
{
override void PostBeginPlay()
override void ConfigNode(ZTPathNode node)
{
let node = ZTPathNode(Spawn("ZTPathNode", pos));
node.nodeType = ZTPathNode.NT_AVOID;
node.angle = angle;

Destroy();
}
}

class ZTBlockNode : Actor
class ZTBlockNode : ZTNodeSpawner
{
override void PostBeginPlay()
override void ConfigNode(ZTPathNode node)
{
let node = ZTPathNode(Spawn("ZTPathNode", pos));
node.nodeType = ZTPathNode.NT_BLOCK;
node.angle = angle;

Destroy();
}
}

class ZTTeleportToNextNode : Actor
class ZTTeleportToNextNode : ZTNodeSpawner
{
override void PostBeginPlay()
override void ConfigNode(ZTPathNode node)
{
let node = ZTPathNode(Spawn("ZTPathNode", pos));
node.nodeType = ZTPathNode.NT_TELEPORT_SOURCE;
node.angle = angle;
node.assoc_id = node.id + 1; // next node

Destroy();
}
}

class ZTTeleportToPrevNode : Actor
class ZTTeleportToPrevNode : ZTNodeSpawner
{
override void PostBeginPlay()
override void ConfigNode(ZTPathNode node)
{
let node = ZTPathNode(Spawn("ZTPathNode", pos));
node.nodeType = ZTPathNode.NT_TELEPORT_SOURCE;
node.angle = angle;
node.assoc_id = node.id - 1; // previous node

Destroy();
}
}

class ZTCandyNode : Actor
class ZTCandyNode : ZTNodeSpawner
{
override void PostBeginPlay()
override void ConfigNode(ZTPathNode node)
{
let node = ZTPathNode(Spawn("ZTPathNode", pos));
node.nodeType = ZTPathNode.NT_CANDY;
node.angle = angle;

Destroy();
}
}

class ZTCandyOnceNode : Actor
class ZTCandyOnceNode : ZTNodeSpawner
{
override void PostBeginPlay()
override void ConfigNode(ZTPathNode node)
{
let node = ZTPathNode(Spawn("ZTPathNode", pos));
node.nodeType = ZTPathNode.NT_CANDY_ONCE;
node.angle = angle;
node.MakeCandied();

Destroy();
}
}

class ZTRespawnNode : Actor
class ZTRespawnNode : ZTNodeSpawner
{
override void PostBeginPlay()
override void ConfigNode(ZTPathNode node)
{
let node = ZTPathNode(Spawn("ZTPathNode", pos));
node.nodeType = ZTPathNode.NT_RESPAWN;
node.angle = angle;

Destroy();
}
}

class ZTUploadNodes : Actor
{
enum LogType
enum LogType
{
LT_ERROR = 0,
LT_WARNING,
Expand Down
2 changes: 1 addition & 1 deletion version.sh
Original file line number Diff line number Diff line change
@@ -1 +1 @@
VERSION=0.11.0
VERSION=0.11.1-rc1

0 comments on commit 3e0ed0f

Please sign in to comment.