You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
112 lines
4.2 KiB
112 lines
4.2 KiB
var xx, yy, spawnX;
|
|
if (irandom(100) < argument0 && instance_number(oXPickup) < 17)
|
|
{
|
|
if (canbeX == 1)
|
|
xParasite = "What, you expected something useful?"
|
|
xx = mean(bbox_left, bbox_right)
|
|
yy = mean(bbox_top, bbox_bottom)
|
|
pickup = irandom(3)
|
|
spawnX = 0
|
|
if (global.playerhealth == global.maxhealth && global.missiles == global.maxmissiles && global.smissiles == global.maxsmissiles)
|
|
spawnX = irandom(1)
|
|
if ((global.item[0] == 0 && global.maxpbombs > 0) || oControl.mod_insanitymode == 1)
|
|
pickup = irandom(4)
|
|
if (pickup == 0)
|
|
{
|
|
if ((global.playerhealth < global.maxhealth && instance_number(oHPickup) < 6) || (oControl.mod_fusion == 1 && spawnX == 1 && canbeX && instance_number(oHPickup) < 6))
|
|
{
|
|
if (oControl.mod_fusion == 1 && canbeX == 1)
|
|
xParasite = instance_create(xx, yy, oHXPickup)
|
|
else
|
|
instance_create(xx, yy, oHPickup)
|
|
}
|
|
else
|
|
pickup = 2
|
|
}
|
|
if (pickup == 1)
|
|
{
|
|
if ((global.playerhealth < global.maxhealth && instance_number(oHPickupBig) < 3) || (oControl.mod_fusion == 1 && spawnX == 1 && canbeX && instance_number(oHPickupBig) < 3))
|
|
{
|
|
if (oControl.mod_fusion == 1 && canbeX == 1)
|
|
xParasite = instance_create(xx, yy, oHXPickupBig)
|
|
else
|
|
instance_create(xx, yy, oHPickupBig)
|
|
}
|
|
else
|
|
pickup = 2
|
|
}
|
|
if (pickup == 2)
|
|
{
|
|
if ((global.missiles < global.maxmissiles && global.maxmissiles > 0 && instance_number(oMPickup) < 8) || (oControl.mod_fusion == 1 && spawnX == 1 && canbeX && instance_number(oMPickup) < 8))
|
|
{
|
|
if (oControl.mod_fusion == 1 && canbeX == 1)
|
|
xParasite = instance_create(xx, yy, oMXPickup)
|
|
else
|
|
instance_create(xx, yy, oMPickup)
|
|
}
|
|
else
|
|
pickup = 3
|
|
}
|
|
if (pickup == 3)
|
|
{
|
|
if (global.smissiles < global.maxsmissiles && global.maxsmissiles > 0 && instance_number(oSMPickup) < 2)
|
|
{
|
|
if (oControl.mod_fusion == 1 && canbeX == 1)
|
|
xParasite = instance_create(xx, yy, oSMXPickup)
|
|
else
|
|
instance_create(xx, yy, oSMPickup)
|
|
}
|
|
else if ((global.item[0] == 0 && global.maxpbombs > 0) || oControl.mod_insanitymode == 1)
|
|
pickup = 4
|
|
}
|
|
if (pickup == 4)
|
|
{
|
|
if (global.pbombs < global.maxpbombs && global.maxpbombs > 0 && instance_number(oPBPickup) < 2)
|
|
{
|
|
if (oControl.mod_fusion == 1 && canbeX == 1)
|
|
xParasite = instance_create(xx, yy, oPBXPickup)
|
|
else
|
|
instance_create(xx, yy, oPBPickup)
|
|
}
|
|
}
|
|
if (canbeX == 1 && instance_exists(xParasite) && oControl.mod_fusion == 1)
|
|
{
|
|
if (object_index == oEnemyFrozen)
|
|
{
|
|
xParasite.lastSprite = xSprite
|
|
xParasite.lastFrame = xLastFrame
|
|
xParasite.lastFacing = xLastFacing
|
|
xParasite.lastAngle = xLastAngle
|
|
xParasite.lastDepth = xLastDepth
|
|
xParasite.lastXPos = xLastXPos
|
|
xParasite.lastYPos = xLastYPos
|
|
xParasite.lastEnemy = xLastEnemy
|
|
xParasite.frozenAngle = image_angle
|
|
}
|
|
else
|
|
{
|
|
xParasite.lastSprite = sprite_index
|
|
xParasite.lastFrame = image_index
|
|
xParasite.lastFacing = image_xscale
|
|
xParasite.lastAngle = image_angle
|
|
xParasite.lastDepth = depth
|
|
xParasite.lastXPos = xstart
|
|
xParasite.lastYPos = ystart
|
|
xParasite.lastEnemy = object_index
|
|
}
|
|
xParasite.lastEnemyX = x
|
|
xParasite.lastEnemyY = y
|
|
xParasite.lastYscale = image_yscale
|
|
xParasite.lastEnemyTimer = timer
|
|
xParasite.lastEnemyRotspeed = rotspeed
|
|
xParasite.lastEnemyMyspeed = myspeed
|
|
xParasite.lastEnemyOffset = offset
|
|
xParasite.lastEnemyMoveratio = moveratio
|
|
xParasite.lastEnemyMovesteps = movesteps
|
|
if (object_index == oHalzyn)
|
|
xParasite.lastEnemyGlow = glow
|
|
if (sprite_index == sHalzynBodyFrozen)
|
|
xParasite.lastEnemyGlow = xLastGlow
|
|
}
|
|
}
|