mirror of
https://github.com/bombsquad-community/plugin-manager.git
synced 2025-11-07 17:36:00 +00:00
Added plugins
This commit is contained in:
parent
0bffcc0a67
commit
38417928cd
9 changed files with 3791 additions and 31 deletions
88
plugins/utilities/path.py
Executable file
88
plugins/utilities/path.py
Executable file
|
|
@ -0,0 +1,88 @@
|
|||
# Copyright 2025 - Solely by BrotherBoard
|
||||
# Bug? Feedback? Telegram >> @GalaxyA14user
|
||||
|
||||
"""
|
||||
Path v1.0 - Where it's going to be.
|
||||
|
||||
Experimental. Path tries to predict the next position of bomb.
|
||||
Path relies on velocity to operate.
|
||||
Optionally pass spaz node (holder) to assist prediction.
|
||||
Feedback is appreciated.
|
||||
"""
|
||||
|
||||
from babase import Plugin
|
||||
from bascenev1 import (
|
||||
timer as tick,
|
||||
newnode
|
||||
)
|
||||
|
||||
class Path:
|
||||
def __init__(s,node,holder=None):
|
||||
if node.body == 'crate': return
|
||||
s.node,s.kids = node,[]
|
||||
s.me = holder
|
||||
s.spy()
|
||||
def spy(s):
|
||||
n = s.node
|
||||
if not n.exists():
|
||||
[_.delete() for _ in s.kids]
|
||||
s.kids.clear()
|
||||
return
|
||||
|
||||
[_.delete() for _ in s.kids]; s.kids.clear()
|
||||
|
||||
ip = n.position
|
||||
iv = n.velocity
|
||||
if s.me and s.me.hold_node == n:
|
||||
mv = s.me.velocity
|
||||
iv = (iv[0]+mv[0],iv[1]+mv[1],iv[2]+mv[2])
|
||||
|
||||
dots = 200
|
||||
ti = 1.2
|
||||
tpd = ti / dots
|
||||
|
||||
tick(0.01, s.spy)
|
||||
for i in range(dots):
|
||||
t = i * tpd
|
||||
px = ip[0] + iv[0] * t
|
||||
py = ip[1] + iv[1] * t + 0.5 * -24 * t**2
|
||||
pz = ip[2] + iv[2] * t
|
||||
|
||||
if py <=0:
|
||||
l = newnode(
|
||||
'locator',
|
||||
owner=n,
|
||||
attrs={
|
||||
'shape': 'circleOutline',
|
||||
'size': [1],
|
||||
'color': (1,1,0),
|
||||
'draw_beauty': False,
|
||||
'additive': True,
|
||||
'position':(px,py,pz)
|
||||
}
|
||||
)
|
||||
s.kids.append(l)
|
||||
break
|
||||
dot_node = newnode(
|
||||
'text',
|
||||
owner=n,
|
||||
attrs={
|
||||
'text':'.',
|
||||
'scale':0.02,
|
||||
'position':(px, py, pz),
|
||||
'flatness':1,
|
||||
'in_world':True,
|
||||
'color':(1-i*4/dots,0,0),
|
||||
'shadow':0
|
||||
}
|
||||
)
|
||||
s.kids.append(dot_node)
|
||||
|
||||
# brobord collide grass
|
||||
# ba_meta require api 9
|
||||
# ba_meta export babase.Plugin
|
||||
class byBordd(Plugin):
|
||||
def __init__(s):
|
||||
_ = __import__('bascenev1lib').actor.bomb.Bomb
|
||||
o = _.__init__
|
||||
_.__init__ = lambda z,*a,**k: (o(z,*a,**k),Path(z.node))[0]
|
||||
Loading…
Add table
Add a link
Reference in a new issue