make PROT lasers easier to make, adjust velocities needed to make things when smashing PROT together, use FIRE_BLEND for PROT graphics

This commit is contained in:
jacob1 2013-09-28 20:31:35 -04:00
parent 8fc39d659c
commit d1e75c7a50
2 changed files with 15 additions and 12 deletions

View File

@ -2218,8 +2218,10 @@ int Simulation::try_move(int i, int x, int y, int nx, int ny)
} }
else if ((r&0xFF) == PT_H2 && pv[y/CELL][x/CELL] < 45.0f) else if ((r&0xFF) == PT_H2 && pv[y/CELL][x/CELL] < 45.0f)
{ {
create_part(i, x, y, PT_PROT); part_change_type(i, x, y, PT_PROT);
parts[i].ctype = 0;
parts[i].tmp2 = 0x1; parts[i].tmp2 = 0x1;
create_part(r>>8, x, y, PT_ELEC); create_part(r>>8, x, y, PT_ELEC);
return 1; return 1;
} }

View File

@ -79,8 +79,9 @@ int Element_PROT::update(UPDATE_FUNC_ARGS)
parts[under>>8].life = 40+parts[under>>8].life; parts[under>>8].life = 40+parts[under>>8].life;
} }
//Powered LCRY reaction: PROT->PHOT //Powered LCRY reaction: PROT->PHOT
else if (((under&0xFF) == PT_LCRY) && (parts[under>>8].life > 5) && (1>(rand()%10))) { else if ((under&0xFF) == PT_LCRY && parts[under>>8].life > 5 && !(rand()%10))
parts[i].type = PT_PHOT; {
sim->part_change_type(i, x, y, PT_PHOT);
parts[i].life *= 2; parts[i].life *= 2;
parts[i].ctype = 0x3FFFFFFF; parts[i].ctype = 0x3FFFFFFF;
} }
@ -113,15 +114,15 @@ int Element_PROT::update(UPDATE_FUNC_ARGS)
if (parts[i].tmp) if (parts[i].tmp)
{ {
int newID, element; int newID, element;
if (parts[i].tmp > 4250) if (parts[i].tmp > 500000)
element = PT_SING; //particle accelerators are known to create earth-destroying black holes element = PT_SING; //particle accelerators are known to create earth-destroying black holes
else if (parts[i].tmp > 275) else if (parts[i].tmp > 500)
element = PT_PLUT; element = PT_PLUT;
else if (parts[i].tmp > 170) else if (parts[i].tmp > 320)
element = PT_URAN; element = PT_URAN;
else if (parts[i].tmp > 100) else if (parts[i].tmp > 150)
element = PT_PLSM; element = PT_PLSM;
else if (parts[i].tmp > 40) else if (parts[i].tmp > 50)
element = PT_O2; element = PT_O2;
else if (parts[i].tmp > 20) else if (parts[i].tmp > 20)
element = PT_CO2; element = PT_CO2;
@ -176,12 +177,12 @@ int Element_PROT::DeutImplosion(Simulation * sim, int n, int x, int y, float tem
//#TPT-Directive ElementHeader Element_PROT static int graphics(GRAPHICS_FUNC_ARGS) //#TPT-Directive ElementHeader Element_PROT static int graphics(GRAPHICS_FUNC_ARGS)
int Element_PROT::graphics(GRAPHICS_FUNC_ARGS) int Element_PROT::graphics(GRAPHICS_FUNC_ARGS)
{ {
*firea = 20; *firea = 7;
*firer = 250; *firer = 250;
*fireg = 100; *fireg = 170;
*fireb = 100; *fireb = 170;
*pixel_mode |= FIRE_ADD; *pixel_mode |= FIRE_BLEND;
return 1; return 1;
} }