@tool extends Weapon func update(to, origin, _entity): origin["atk"] += 1 * to * soulLevel origin["count"] = 1 * soulLevel origin["radius"] /= 1 + 0.05 * to * soulLevel return origin func attack(entity: EntityBase): for i in readStore("count"): var myFloor = get_global_mouse_position() + MathTool.sampleInCircle(readStore("radius")) for bullet in BulletBase.generate(ComponentManager.getBullet("WhiteSoul"), entity, get_global_mouse_position() + QuickUI.getWindowSize() * Vector2(randf_range(-1, 1) * 0.25, -1), 0 ): if bullet is WhiteSoulBullet: bullet.look_at(myFloor) bullet.floorPos = myFloor bullet.baseDamage = readStore("atk") return true