mirror of
https://github.com/hypervortex/VH-Bombsquad-Modded-Server-Files
synced 2025-11-07 17:36:08 +00:00
Added new files
This commit is contained in:
parent
867634cc5c
commit
3a407868d4
1775 changed files with 550222 additions and 0 deletions
230
dist/ba_root/mods/maps/BridgitPlus.py
vendored
Normal file
230
dist/ba_root/mods/maps/BridgitPlus.py
vendored
Normal file
|
|
@ -0,0 +1,230 @@
|
|||
from __future__ import annotations
|
||||
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
import ba,_ba
|
||||
from bastd.gameutils import SharedObjects
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from typing import Any, List, Dict
|
||||
class mapdefs:
|
||||
points = {}
|
||||
# noinspection PyDictCreation
|
||||
boxes = {}
|
||||
boxes['area_of_interest_bounds'] = (-0.2457963347, 3.828181068,
|
||||
-1.528362695) + (0.0, 0.0, 0.0) + (
|
||||
19.14849937, 7.312788846, 13.436232726)
|
||||
points['ffa_spawn1'] = (-5.869295124, 3.715437928,
|
||||
-1.617274877) + (0.9410329222, 1.0, 1.818908238)
|
||||
points['ffa_spawn2'] = (5.160809653, 3.761793434,
|
||||
-1.443012115) + (0.7729807005, 1.0, 1.818908238)
|
||||
points['ffa_spawn3'] = (-0.4266381164, 3.761793434,
|
||||
-1.555562653) + (4.034151421, 1.0, 0.2731725824)
|
||||
points['flag1'] = (-7.354603923, 3.770769731, -1.617274877)
|
||||
points['flag2'] = (6.885846926, 3.770685211, -1.443012115)
|
||||
points['flag_default'] = (-0.2227795102, 3.802429326, -1.562586233)
|
||||
boxes['map_bounds'] = (-0.1916036665, 7.481446847, -1.311948055) + (
|
||||
0.0, 0.0, 0.0) + (27.41996888, 18.47258973, 19.52220249)
|
||||
points['powerup_spawn1'] = (6.82849491, 4.658454461, 0.1938139802)
|
||||
points['powerup_spawn2'] = (-7.253381358, 4.728692078, 0.252121017)
|
||||
points['powerup_spawn3'] = (6.82849491, 4.658454461, -3.461765427)
|
||||
points['powerup_spawn4'] = (-7.253381358, 4.728692078, -3.40345839)
|
||||
points['shadow_lower_bottom'] = (-0.2227795102, 2.83188898, 2.680075641)
|
||||
points['shadow_lower_top'] = (-0.2227795102, 3.498267184, 2.680075641)
|
||||
points['shadow_upper_bottom'] = (-0.2227795102, 6.305086402, 2.680075641)
|
||||
points['shadow_upper_top'] = (-0.2227795102, 9.470923628, 2.680075641)
|
||||
points['spawn1'] = (-5.869295124, 3.715437928,
|
||||
-1.617274877) + (0.9410329222, 1.0, 1.818908238)
|
||||
points['spawn2'] = (5.160809653, 3.761793434,
|
||||
-1.443012115) + (0.7729807005, 1.0, 1.818908238)
|
||||
class BridgitPlus(ba.Map):
|
||||
"""Map with a narrow bridge in the middle."""
|
||||
# from bastd.mapdata import bridgit as defs
|
||||
defs = mapdefs
|
||||
name = 'Bridgit Plus'
|
||||
dataname = 'bridgit'
|
||||
|
||||
@classmethod
|
||||
def get_play_types(cls) -> list[str]:
|
||||
"""Return valid play types for this map."""
|
||||
# print('getting playtypes', cls._getdata()['play_types'])
|
||||
return ['melee', 'team_flag', 'keep_away']
|
||||
|
||||
@classmethod
|
||||
def get_preview_texture_name(cls) -> str:
|
||||
return 'bridgitPreview'
|
||||
|
||||
@classmethod
|
||||
def on_preload(cls) -> Any:
|
||||
data: dict[str, Any] = {
|
||||
'model_top': ba.getmodel('bridgitLevelTop'),
|
||||
'model_bottom': ba.getmodel('bridgitLevelBottom'),
|
||||
'model_bg': ba.getmodel('natureBackground'),
|
||||
'bg_vr_fill_model': ba.getmodel('natureBackgroundVRFill'),
|
||||
'collide_model': ba.getcollidemodel('bridgitLevelCollide'),
|
||||
'tex': ba.gettexture('bridgitLevelColor'),
|
||||
'model_bg_tex': ba.gettexture('natureBackgroundColor'),
|
||||
'collide_bg': ba.getcollidemodel('natureBackgroundCollide'),
|
||||
'railing_collide_model':
|
||||
(ba.getcollidemodel('bridgitLevelRailingCollide')),
|
||||
'bg_material': ba.Material()
|
||||
}
|
||||
data['bg_material'].add_actions(actions=('modify_part_collision',
|
||||
'friction', 10.0))
|
||||
return data
|
||||
|
||||
def __init__(self) -> None:
|
||||
super().__init__()
|
||||
shared = SharedObjects.get()
|
||||
self.node = ba.newnode(
|
||||
'terrain',
|
||||
delegate=self,
|
||||
attrs={
|
||||
'collide_model': self.preloaddata['collide_model'],
|
||||
'model': self.preloaddata['model_top'],
|
||||
'color_texture': self.preloaddata['tex'],
|
||||
'materials': [shared.footing_material]
|
||||
})
|
||||
self.bottom = ba.newnode('terrain',
|
||||
attrs={
|
||||
'model': self.preloaddata['model_bottom'],
|
||||
'lighting': False,
|
||||
'color_texture': self.preloaddata['tex']
|
||||
})
|
||||
self.background = ba.newnode(
|
||||
'terrain',
|
||||
attrs={
|
||||
'model': self.preloaddata['model_bg'],
|
||||
'lighting': False,
|
||||
'background': True,
|
||||
'color_texture': self.preloaddata['model_bg_tex']
|
||||
})
|
||||
ba.newnode('terrain',
|
||||
attrs={
|
||||
'model': self.preloaddata['bg_vr_fill_model'],
|
||||
'lighting': False,
|
||||
'vr_only': True,
|
||||
'background': True,
|
||||
'color_texture': self.preloaddata['model_bg_tex']
|
||||
})
|
||||
|
||||
self.bg_collide = ba.newnode('terrain',
|
||||
attrs={
|
||||
'collide_model':
|
||||
self.preloaddata['collide_bg'],
|
||||
'materials': [
|
||||
shared.footing_material,
|
||||
self.preloaddata['bg_material'],
|
||||
shared.death_material
|
||||
]
|
||||
})
|
||||
gnode = ba.getactivity().globalsnode
|
||||
gnode.tint = (1.1, 1.2, 1.3)
|
||||
gnode.ambient_color = (1.1, 1.2, 1.3)
|
||||
gnode.vignette_outer = (0.65, 0.6, 0.55)
|
||||
gnode.vignette_inner = (0.9, 0.9, 0.93)
|
||||
self.map_extend()
|
||||
|
||||
def is_point_near_edge(self,
|
||||
point: ba.Vec3,
|
||||
running: bool = False) -> bool:
|
||||
box_position = self.defs.boxes['edge_box'][0:3]
|
||||
box_scale = self.defs.boxes['edge_box'][6:9]
|
||||
xpos = (point.x - box_position[0]) / box_scale[0]
|
||||
zpos = (point.z - box_position[2]) / box_scale[2]
|
||||
return xpos < -0.5 or xpos > 0.5 or zpos < -0.5 or zpos > 0.5
|
||||
|
||||
def map_extend(self):
|
||||
|
||||
shared = SharedObjects.get()
|
||||
self._real_wall_material=ba.Material()
|
||||
|
||||
self._real_wall_material.add_actions(
|
||||
|
||||
actions=(
|
||||
('modify_part_collision', 'collide', True),
|
||||
('modify_part_collision', 'physical', True)
|
||||
|
||||
))
|
||||
self.mat = ba.Material()
|
||||
self.mat.add_actions(
|
||||
|
||||
actions=( ('modify_part_collision','physical',False),
|
||||
('modify_part_collision','collide',False))
|
||||
)
|
||||
spaz_collide_mat=ba.Material()
|
||||
|
||||
pos=(-1.8323341846466064, 3.004164695739746, -1.3991328477859497)
|
||||
self.ud_1_r=ba.newnode('region',attrs={'position': pos,'scale': (2,1,2),'type': 'box','materials': [shared.footing_material,self._real_wall_material,spaz_collide_mat ]})
|
||||
|
||||
self.node = ba.newnode('prop',
|
||||
owner=self.ud_1_r,
|
||||
attrs={
|
||||
'model':ba.getmodel('bridgitLevelTop'),
|
||||
'light_model':ba.getmodel('powerupSimple'),
|
||||
'position':(2,7,2),
|
||||
'body':'puck',
|
||||
'shadow_size':0.0,
|
||||
'velocity':(0,0,0),
|
||||
'color_texture':ba.gettexture('bridgitLevelColor'),
|
||||
|
||||
'reflection_scale':[1.5],
|
||||
'materials':[self.mat, shared.object_material,shared.footing_material],
|
||||
|
||||
'density':9000000000
|
||||
})
|
||||
self.node.changerotation(0,1,0)
|
||||
mnode = ba.newnode('math',
|
||||
owner=self.ud_1_r,
|
||||
attrs={
|
||||
'input1': (0, -2.9, 0),
|
||||
'operation': 'add'
|
||||
})
|
||||
|
||||
self.ud_1_r.connectattr('position', mnode, 'input2')
|
||||
mnode.connectattr('output', self.node, 'position')
|
||||
|
||||
|
||||
# base / bottom ====================================
|
||||
|
||||
pos=(-1.8323341846466064, 2.004164695739746, -1.3991328477859497)
|
||||
self.ud_2_r=ba.newnode('region',attrs={'position': pos,'scale': (2,1,2),'type': 'box','materials': [shared.footing_material,self._real_wall_material,spaz_collide_mat ]})
|
||||
|
||||
self.node2 = ba.newnode('prop',
|
||||
owner=self.ud_2_r,
|
||||
attrs={
|
||||
'model':ba.getmodel('bridgitLevelBottom'),
|
||||
'light_model':ba.getmodel('powerupSimple'),
|
||||
'position':(2,7,2),
|
||||
'body':'puck',
|
||||
'shadow_size':0.0,
|
||||
'velocity':(0,0,0),
|
||||
'color_texture':ba.gettexture('bridgitLevelColor'),
|
||||
|
||||
'reflection_scale':[1.5],
|
||||
'materials':[self.mat, shared.object_material,shared.footing_material],
|
||||
|
||||
'density':9000000000
|
||||
})
|
||||
mnode = ba.newnode('math',
|
||||
owner=self.ud_2_r,
|
||||
attrs={
|
||||
'input1': (0, -1.8, 0),
|
||||
'operation': 'add'
|
||||
})
|
||||
self.node2.changerotation(0,1,0)
|
||||
self.ud_2_r.connectattr('position', mnode, 'input2')
|
||||
mnode.connectattr('output', self.node2, 'position')
|
||||
|
||||
# /// region to stand long bar ===============
|
||||
|
||||
|
||||
pos=(-0.26, 3.204164695739746, -5.3991328477859497)
|
||||
self.v_region=ba.newnode('region',attrs={'position': pos,'scale': (1.5,1,21),'type': 'box','materials': [shared.footing_material,self._real_wall_material,spaz_collide_mat ]})
|
||||
pos=(-0.26, 3.204164695739746, -7.5)
|
||||
self.h_1_region=ba.newnode('region',attrs={'position': pos,'scale': (4.9,1,3.6),'type': 'box','materials': [shared.footing_material,self._real_wall_material,spaz_collide_mat ]})
|
||||
|
||||
pos=(-0.42, 3.204164695739746, 4.1)
|
||||
self.h_1_region=ba.newnode('region',attrs={'position': pos,'scale': (4.9,1,3.6),'type': 'box','materials': [shared.footing_material,self._real_wall_material,spaz_collide_mat ]})
|
||||
|
||||
ba._map.register_map(BridgitPlus)
|
||||
Loading…
Add table
Add a link
Reference in a new issue