Tower bullet with 3d object but without physic

This commit is contained in:
Philippe Roy 2022-07-20 05:30:36 +02:00
parent 3783722d19
commit 78213d448a
2 changed files with 3 additions and 22 deletions

View File

@ -499,7 +499,6 @@ def scn_tower_near(cont):
sound_play(sndbuff_mage)
# Ligne (drawLine) (vitesse rapide)
# if scene.objects['Terrain']['speed']>=1:
if scene.objects['Terrain']['speed']<10: # Pas d'animation à 10 -> plantage
# Archer (tir de flêche)
@ -520,39 +519,23 @@ def scn_tower_near(cont):
print ("Plus de bullet de disponible pour la tour : "+obj.name)
# Cast zone
# FIXME : ne marche plus (zoom et pan)
if obj['cat']=="Mage tower": # Mage (cast)
scene.objects['Terrain']['draw2d_process']=True
scene.objects['Terrain']['draw2d_list'].append([30, "cast", [obj.worldPosition.x, obj.worldPosition.y, obj.worldPosition.z+0.8],ray_blue,30])
# 'Archer tower' : ["Archer tower", 1.0 , 0.02, 2.5],
# 'Mage tower' : ["Mage tower", 0.0 , 0.005, 2.5],
# Rayon
# FIXME : ne marche plus (zoom et pan)
if obj['cat']=="Test":
if target.name in scene.objects:
scene.objects['Terrain']['draw2d_process']=True
scene.objects['Terrain']['draw2d_list'].append([5, "ray", [obj.worldPosition.x, obj.worldPosition.y, obj.worldPosition.z+0.8], target.name, angle3, ray_yellow,5]) # Suivi du minion
# Dégats
target['hp'] = target['hp'] - obj['damage']
if target['hp']<=0:
target['dead']=True
# Cast (buff and debuff)
if obj['cat']=="Mage tower":
for target_i in sensor.hitObjectList:
target_i['buff'].append([obj['cast'], obj['cast_duration']])
# # Cible touchée par un projectile
# def scn_bullet_collision(cont):
# obj = cont.owner
# # obj['activated']=False
# # # obj.suspendPhysics (True)
# # obj.setVisible(False)
# # # obj.worldPosition=[obj['init_lx'],obj['init_ly'],obj['init_lz']]
# # print ("dead bullet : ", obj.name)
###############################################################################
# Carte
###############################################################################
@ -699,7 +682,6 @@ def scn_draw3d(cont):
x1 = target.worldPosition.x
y1 = target.worldPosition.y
z1 = target.worldPosition.z+0.5 # ajustement +0.5
# z1 = target.worldPosition.z-0.1 # ajustement -0.1
step_x=(x1-x0)/draw_cmd[7]
step_y=(y1-y0)/draw_cmd[7]
step_z=(z1-z0)/draw_cmd[7]
@ -711,7 +693,6 @@ def scn_draw3d(cont):
if draw_cmd[0]<=0:
bullet['activated']=False
bullet.setVisible(False)
# bullet.worldPosition=[x0,y0,z0]
target['hp'] = target['hp'] - tower['damage']
if target['hp']<=0: # Mort
target['dead']=True

View File

@ -181,7 +181,7 @@ def tower_definition():
# Tower caracteristics : category (class), damage, speed, range
tower_carac={
'Archer tower' : ["Archer tower", 1.0 , 0.01, 2.5],
'Archer tower' : ["Archer tower", 1.0 , 0.02, 2.5],
'Mage tower' : ["Mage tower", 0.0 , 0.005, 2.5],
'Barrack' : ["Barrack", 1.0 , 0.0001, 2.5]}
scene.objects['Terrain']['tower_carac'] = tower_carac