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)
|
||||
|
||||
# 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
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user