diff --git a/KeyConf.txt b/KeyConf.txt index 940977a..f911376 100644 --- a/KeyConf.txt +++ b/KeyConf.txt @@ -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" @@ -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" diff --git a/ZetaCode/Pathing.zsc b/ZetaCode/Pathing.zsc index 28215de..16c3e56 100644 --- a/ZetaCode/Pathing.zsc +++ b/ZetaCode/Pathing.zsc @@ -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, diff --git a/version.sh b/version.sh index 6c2ed3e..0581a9b 100644 --- a/version.sh +++ b/version.sh @@ -1 +1 @@ -VERSION=0.11.0 \ No newline at end of file +VERSION=0.11.1-rc1 \ No newline at end of file