mirror of
https://forge.apps.education.fr/phroy/codetower.git
synced 2024-01-27 11:35:17 +01:00
Tower bullet with 3d object but without physic
This commit is contained in:
parent
3783722d19
commit
78213d448a
23
ct_lib.py
23
ct_lib.py
@ -499,7 +499,6 @@ def scn_tower_near(cont):
|
|||||||
sound_play(sndbuff_mage)
|
sound_play(sndbuff_mage)
|
||||||
|
|
||||||
# Ligne (drawLine) (vitesse rapide)
|
# Ligne (drawLine) (vitesse rapide)
|
||||||
# if scene.objects['Terrain']['speed']>=1:
|
|
||||||
if scene.objects['Terrain']['speed']<10: # Pas d'animation à 10 -> plantage
|
if scene.objects['Terrain']['speed']<10: # Pas d'animation à 10 -> plantage
|
||||||
|
|
||||||
# Archer (tir de flêche)
|
# 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)
|
print ("Plus de bullet de disponible pour la tour : "+obj.name)
|
||||||
|
|
||||||
# Cast zone
|
# Cast zone
|
||||||
|
# FIXME : ne marche plus (zoom et pan)
|
||||||
if obj['cat']=="Mage tower": # Mage (cast)
|
if obj['cat']=="Mage tower": # Mage (cast)
|
||||||
scene.objects['Terrain']['draw2d_process']=True
|
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])
|
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
|
# Rayon
|
||||||
|
# FIXME : ne marche plus (zoom et pan)
|
||||||
if obj['cat']=="Test":
|
if obj['cat']=="Test":
|
||||||
if target.name in scene.objects:
|
if target.name in scene.objects:
|
||||||
scene.objects['Terrain']['draw2d_process']=True
|
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
|
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)
|
# Cast (buff and debuff)
|
||||||
if obj['cat']=="Mage tower":
|
if obj['cat']=="Mage tower":
|
||||||
for target_i in sensor.hitObjectList:
|
for target_i in sensor.hitObjectList:
|
||||||
target_i['buff'].append([obj['cast'], obj['cast_duration']])
|
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
|
# Carte
|
||||||
###############################################################################
|
###############################################################################
|
||||||
@ -699,7 +682,6 @@ def scn_draw3d(cont):
|
|||||||
x1 = target.worldPosition.x
|
x1 = target.worldPosition.x
|
||||||
y1 = target.worldPosition.y
|
y1 = target.worldPosition.y
|
||||||
z1 = target.worldPosition.z+0.5 # ajustement +0.5
|
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_x=(x1-x0)/draw_cmd[7]
|
||||||
step_y=(y1-y0)/draw_cmd[7]
|
step_y=(y1-y0)/draw_cmd[7]
|
||||||
step_z=(z1-z0)/draw_cmd[7]
|
step_z=(z1-z0)/draw_cmd[7]
|
||||||
@ -711,7 +693,6 @@ def scn_draw3d(cont):
|
|||||||
if draw_cmd[0]<=0:
|
if draw_cmd[0]<=0:
|
||||||
bullet['activated']=False
|
bullet['activated']=False
|
||||||
bullet.setVisible(False)
|
bullet.setVisible(False)
|
||||||
# bullet.worldPosition=[x0,y0,z0]
|
|
||||||
target['hp'] = target['hp'] - tower['damage']
|
target['hp'] = target['hp'] - tower['damage']
|
||||||
if target['hp']<=0: # Mort
|
if target['hp']<=0: # Mort
|
||||||
target['dead']=True
|
target['dead']=True
|
||||||
|
@ -181,7 +181,7 @@ def tower_definition():
|
|||||||
|
|
||||||
# Tower caracteristics : category (class), damage, speed, range
|
# Tower caracteristics : category (class), damage, speed, range
|
||||||
tower_carac={
|
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],
|
'Mage tower' : ["Mage tower", 0.0 , 0.005, 2.5],
|
||||||
'Barrack' : ["Barrack", 1.0 , 0.0001, 2.5]}
|
'Barrack' : ["Barrack", 1.0 , 0.0001, 2.5]}
|
||||||
scene.objects['Terrain']['tower_carac'] = tower_carac
|
scene.objects['Terrain']['tower_carac'] = tower_carac
|
||||||
|
Loading…
x
Reference in New Issue
Block a user