|
@@ -11,36 +11,84 @@ var totalxp = 0
|
|
|
var nextxp = 100
|
|
|
var lv = 1
|
|
|
|
|
|
-var apendices = {
|
|
|
+var menbros = {
|
|
|
'braco_bruto':{
|
|
|
'img':load('res://leg3.png'),
|
|
|
- 'range': 10,
|
|
|
- 'dmg':10,
|
|
|
+ 'range': 0.75,
|
|
|
+ 'dmg':1.25,
|
|
|
'atkspeed':1.0,
|
|
|
},
|
|
|
'menbro_chicote':{
|
|
|
'img':load('res://leg2.png'),
|
|
|
- 'range': 10,
|
|
|
- 'dmg':10,
|
|
|
- 'atkspeed':1.0,
|
|
|
+ 'range': 1.0,
|
|
|
+ 'dmg':0.75,
|
|
|
+ 'atkspeed':1.25,
|
|
|
},
|
|
|
- 'cutucao_relampago':{
|
|
|
+ 'o_corredor':{
|
|
|
'img':load('res://leg.png'),
|
|
|
- 'range': 10,
|
|
|
- 'dmg':10,
|
|
|
- 'atkspeed':1.0,
|
|
|
+ 'hp': 0.8,
|
|
|
+ 'dmg':0.8,
|
|
|
+ 'speed':1.2,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+var corpo = {
|
|
|
+ 'carapaca_firme':{
|
|
|
+ 'hp':1.5,
|
|
|
+ },
|
|
|
+ 'metabolismo_avancado':{
|
|
|
+ 'regen':1.05,
|
|
|
+ 'regen_time':7.0,
|
|
|
+ },
|
|
|
+ 'cerebro_avantajado':{
|
|
|
+ 'xpmult':1.25,
|
|
|
+ },
|
|
|
+ 'escama reflexiva':{
|
|
|
+ 'react_dmg' : 1.0,
|
|
|
+ },
|
|
|
+}
|
|
|
+
|
|
|
+var apendice = {
|
|
|
+ 'olhos_admirantes':{
|
|
|
+ 'camzoom' : 1.5,
|
|
|
+ },
|
|
|
+}
|
|
|
+
|
|
|
var dict = {
|
|
|
- 'a': apendices.braco_bruto,
|
|
|
- 'b': apendices.menbro_chicote,
|
|
|
- 'c': apendices.cutucao_relampago,
|
|
|
+ 'a': menbros.braco_bruto,
|
|
|
+ 'b': menbros.menbro_chicote,
|
|
|
+ 'c': menbros.o_corredor,
|
|
|
+ 'd' : corpo.cerebro_avantajado,
|
|
|
+ 'e': apendice.olhos_admirantes
|
|
|
}
|
|
|
|
|
|
+func get_stat(arg):
|
|
|
+ var buff = 1.0
|
|
|
+ for x in dict.values():
|
|
|
+ if x.has(arg):
|
|
|
+ buff *= x[arg]
|
|
|
+ return buff
|
|
|
+
|
|
|
func _ready():
|
|
|
+
|
|
|
+ self.speed = get_stat('speed') * 100
|
|
|
+ self.xpmult = get_stat('xpmult')
|
|
|
+ $hitbox.dmg = get_stat('dmg') * 10
|
|
|
+ $Health.reactive_dmg = get_stat('dmg') * get_stat('react_dmg')
|
|
|
+ $hitbox.apc = get_stat('atkspeed')
|
|
|
+ $Health.regen = get_stat('regen') - 1
|
|
|
+ $Health.health = get_stat('hp') * 50
|
|
|
+ $Health.health_max = get_stat('hp') * 50
|
|
|
+ $Camera2D.zoom.x = get_stat('camzoom')
|
|
|
+ $Camera2D.zoom.y = get_stat('camzoom')
|
|
|
+ $Health._ready()
|
|
|
+ $hitbox/CollisionShape2D.scale.x = get_stat('ranged')
|
|
|
+ $hitbox/CollisionShape2D.scale.y = get_stat('ranged')
|
|
|
+
|
|
|
for x in get_node("Icon").get_children():
|
|
|
for y in x.get_children():
|
|
|
+ for z in y.get_children():
|
|
|
+ z.queue_free()
|
|
|
var sprite = Sprite.new()
|
|
|
sprite.texture = dict[y.name].img
|
|
|
y.add_child(sprite)
|
|
@@ -60,15 +108,15 @@ func _input(event):
|
|
|
motion *= .8
|
|
|
|
|
|
|
|
|
-
|
|
|
func _on_Health_die():
|
|
|
emit_signal('dieproxy')
|
|
|
pass # Replace with function body.
|
|
|
|
|
|
+var xpmult = 1.0
|
|
|
|
|
|
func _on_hitbox_gotxp(arg):
|
|
|
- totalxp += arg
|
|
|
- currentxp += arg
|
|
|
+ totalxp += arg * xpmult
|
|
|
+ currentxp += arg * xpmult
|
|
|
if currentxp > nextxp:
|
|
|
currentxp -= nextxp
|
|
|
nextxp *= 1.5
|