mirror of
https://github.com/The-Powder-Toy/The-Powder-Toy.git
synced 2025-08-20 07:01:27 +02:00
Fix incorrect RNG call in WARP, code cleanup
x velocity was set using .chance instead of .between. This always returned false, meaning vx always was set to .5 giving a rightward bias
This commit is contained in:
@@ -51,7 +51,6 @@ void Element::Element_WARP()
|
|||||||
|
|
||||||
static int update(UPDATE_FUNC_ARGS)
|
static int update(UPDATE_FUNC_ARGS)
|
||||||
{
|
{
|
||||||
int trade, r, rx, ry;
|
|
||||||
if (parts[i].tmp2 > 2000)
|
if (parts[i].tmp2 > 2000)
|
||||||
{
|
{
|
||||||
parts[i].temp = 10000;
|
parts[i].temp = 10000;
|
||||||
@@ -59,13 +58,13 @@ static int update(UPDATE_FUNC_ARGS)
|
|||||||
if (RNG::Ref().chance(1, 50))
|
if (RNG::Ref().chance(1, 50))
|
||||||
sim->create_part(-3, x, y, PT_ELEC);
|
sim->create_part(-3, x, y, PT_ELEC);
|
||||||
}
|
}
|
||||||
for ( trade = 0; trade<5; trade ++)
|
for (int trade = 0; trade < 5; trade ++)
|
||||||
{
|
{
|
||||||
rx = RNG::Ref().between(-1, 1);
|
int rx = RNG::Ref().between(-1, 1);
|
||||||
ry = RNG::Ref().between(-1, 1);
|
int ry = RNG::Ref().between(-1, 1);
|
||||||
if (BOUNDS_CHECK && (rx || ry))
|
if (BOUNDS_CHECK && (rx || ry))
|
||||||
{
|
{
|
||||||
r = pmap[y+ry][x+rx];
|
int r = pmap[y + ry][x + rx];
|
||||||
if (!r)
|
if (!r)
|
||||||
continue;
|
continue;
|
||||||
if (TYP(r) != PT_WARP && TYP(r) != PT_STKM && TYP(r) != PT_STKM2 && TYP(r) != PT_DMND && TYP(r) != PT_CLNE && TYP(r) != PT_BCLN && TYP(r) != PT_PCLN)
|
if (TYP(r) != PT_WARP && TYP(r) != PT_STKM && TYP(r) != PT_STKM2 && TYP(r) != PT_DMND && TYP(r) != PT_CLNE && TYP(r) != PT_BCLN && TYP(r) != PT_PCLN)
|
||||||
@@ -74,7 +73,7 @@ static int update(UPDATE_FUNC_ARGS)
|
|||||||
parts[i].y = parts[ID(r)].y;
|
parts[i].y = parts[ID(r)].y;
|
||||||
parts[ID(r)].x = float(x);
|
parts[ID(r)].x = float(x);
|
||||||
parts[ID(r)].y = float(y);
|
parts[ID(r)].y = float(y);
|
||||||
parts[ID(r)].vx = RNG::Ref().chance(-2, 1) + 0.5f;
|
parts[ID(r)].vx = RNG::Ref().between(-2, 1) + 0.5f;
|
||||||
parts[ID(r)].vy = float(RNG::Ref().between(-2, 1));
|
parts[ID(r)].vy = float(RNG::Ref().between(-2, 1));
|
||||||
parts[i].life += 4;
|
parts[i].life += 4;
|
||||||
pmap[y][x] = r;
|
pmap[y][x] = r;
|
||||||
|
Reference in New Issue
Block a user