Arguments: 1) real const: objectType Return Type: real
Creates a shot object of the specified type and returns its ID.
Object types are:
OBJ_SHOT OBJ_LOOSE_LASER OBJ_STRAIGHT_LASER OBJ_CURVE_LASER
In order to draw and fire the shot object and have it listed as an existing bullet, you have to register it using ObjShot_Regist.
Arguments: 1) real: objectID
Activates the specified shot object.
Shot objects cannot be utilized until this functions is called.
Arguments: 1) real: objectID 2) bool: bAutoDelete
Enables or disables auto-deletion of the shot object when outside of the screen boundaries.
Defaults to true.
Arguments: 1) real: objectID
Fades out the shot object and deletes it.
Arguments: 1) real: objectID 2) real: frames
Deletes the shot object after the specified number of frames.
Arguments: 1) real: objectID 2) real: frames
Delays the shot object, firing it after the specified number of frames.
Bullets will glow to announce delay; lasers will be shown very thin.
Arguments: 1) real: objectID 2) bool: bSpellResist
When set to true, the shot object will not be deleted by the player's spell.
Defaults to false.
Arguments: 1) real: objectID 2) real: graphicID
Gives the shot object the specified graphic.
Arguments: 1) real: objectID 2) real const: blendType
Gives the shot object's delay graphic the specified blend type.
Arguments: 1) real: objectID 2) real: damage
Sets the damage of the specified shot object.
For player shots only.
Arguments: 1) real: objectID 2) real: penetration
Sets the penetration of the shot object.
The shot object can hit enemies as many times as the penetration value before being deleted.
For player shots only.
Arguments: 1) real: objectID 2) bool: bEnable
Enables/disables the ability to erase enemy shots when the specified shot object comes into contact with it.
Each time a shot is erased, the penetration of the shot object will go down by 1.
For player shots only.
Arguments: 1) real: objectID 2) bool: bEnable
Sets whether or not to use the spell damage factor for the shot object.
For player shots only.
Arguments: 1) real: objectID 2) real: frames
Sets the amount of frames that must pass before the specified shot can be grazed again.
Use GRAZE_INVALID_NONE to reset this value to normal.
Default value is GRAZE_INVALID_NONE
Arguments: 1) real: objectID
Turns the bullet into an item.
Arguments: 1) real: sourceObjectID 2) real: targetObjectID 3) real: frame
At the specified frame, spawns the added shot object at the source shot object's position.
Arguments: 1) real: sourceObjectID 2) real: targetObjectID 3) real: frame 4) real: distance 5) real: angle
At the specified frame, spawns the added shot object at the specified distance and angle from the source shot object's position.
Arguments: 1) real: objectID 2) real: radius
Creates a hitbox of specified radius for collision detection of the shot object.
In order to maintain the hitbox, it must be set every frame.
There can be multiple hitboxes set for one shot object.
At the specified frame, spawns the added shot object at the source shot object's position.
Arguments: 1) real: objectID 2) real: x 3) real: y 4) real: radius
Creates a hitbox of specified radius for collision detection of the shot object.
In order to maintain the hitbox, it must be set every frame.
There can be multiple hitboxes set for one shot object.
Arguments: 1) real: objectID 2) real: x1 3) real: y1 4) real: x2 5) real: y2 6) real: width
Creates a line segment hitbox between the specified coordinates for collision detection of the shot object.
In order to maintain the hitbox, it must be set every frame.
There can be multiple hitboxes set for one shot object.
Arguments: 1) real: objectID 2) bool: bEnable
Sets whether collision detection of the shot object will be checked.
If set to false, the shot object will have no collision detection.
Arguments: 1) real: objectID 2) bool: bEnable
Sets whether the shot object will turn into an item when deleted.
If set to false, the shot object will not turn into an item.
Arguments: 1) real: objectID Return Type: real
Returns the damage of the specified shot object.
Arguments: 1) real: objectID Return Type: real
Returns the penetration of the specified shot object.
Arguments: 1) real: objectID Return Type: real
Returns the number of frames remaining in the shot's delay.
Arguments: 1) real: objectID Return Type: real
Returns whether the shot object can be deleted by a player spell.
Shot object spell resistance can be set with ObjShot_SetSpellResist.
Arguments: 1) real: objectID Return Type: bool
Returns true if the player is colliding with the specified shot's graze hitbox
Arguments: 1) real: objectID Return Type: real
Returns the graphic ID of the shot object.
Arguments: 1) real: objectID 2) real: length
Sets the length of the laser object.
Arguments: 1) real: objectID 2) real: renderWidth
Sets the visible width of the laser object (not the same as the laser object's collision width).
Arguments: 1) real: objectID 2) real: collisionWidth
Sets the collision width of the laser object.
This can be set to be larger than the laser object's render width, so take caution.
Arguments: 1) real: objectID 2) real: grazeInvalidFrames
Specify the number of frames after a graze where graze is not counted.
If you specify 0, the laser object can be grazed only once.
The default value is 20 frames (3 graze/second).
Arguments: 1) real: objectID 2) real: ratioBase 3) real: ratioTip
Sets the portion of the laser object where there is no collision, in relation to the base and the tip of the laser.
By default, the values are 10 (10%).
Arguments: 1) real: objectID 2) real: interval
Sets the item occurrence interval when the laser object is deleted and changed into items.
Arguments: 1) real: objectID
Returns the length of the laser object.
Arguments: 1) real: objectID 2) real: angle
Sets the angle at which the straight laser object will point at (different from movement angle).
Arguments: 1) real: objectID
Returns the angle at which the straight laser object is pointing (different from movement angle).
Arguments: 1) real: objectID 2) bool: bDrawSource
Sets whether the light source at the base of the straight laser object is drawn.
Arguments: 1) real: objectID 2) real: reductionRate
Sets the transparency reduction rate at the tip of the curved laser object.
Default is 1.0 (tip of laser is invisible).